Strona 1 z 1

[Systemy liczbowe] Zamiana z 4 na 8.

: 13 gru 2013, o 11:43
autor: Macjej
Witam, jestem na studiach informatycznych na 1 roku. Otrzymałem zadanie w którym mam zamienić liczby z systemu 10->2->4->8->16. Z zamianą na 2 i 4 nie było żadnego problemu. Stąd pytanie, czy da się zamienić bezpośrednio liczbę z systemu 4 na 8? Czy trzeba przeliczać "na około", zamieniając najpierw na system binarny, a potem na ósemkowy. Z góry dziękuję za odpowiedzi.

[Systemy liczbowe] Zamiana z 4 na 8.

: 13 gru 2013, o 14:54
autor: leszczu450
Macjej, może i się da, ale po co? : )

[Systemy liczbowe] Zamiana z 4 na 8.

: 13 gru 2013, o 16:04
autor: Gouranga
bardzo łatwo się zamienia między systemami, których podstawy są potęgami tej samej liczby

spójrz na liczbę w dwójkowym:
\(\displaystyle{ 1 1 0 0}\)
mamy tu oczywiste: \(\displaystyle{ 0\cdot 1 + 0\cdot 2 + 1\cdot 4 + 1\cdot 8 = 12}\)

a teraz ten sam ciąg bitów pogrupuj po 2
\(\displaystyle{ 11 \ 00}\)
teraz każdy z tych ciągów zamień na czwórkowy i otrzymasz \(\displaystyle{ (30)_4 = 12}\)
możesz zamienić na ósemkowy grupując po 3 bity (bo \(\displaystyle{ 2^3 = 8}\)
\(\displaystyle{ 001 \ 100}\)
zamieniasz i masz \(\displaystyle{ (14)_8 = 12}\)

itd.
mając liczbę np. w trójkowym
\(\displaystyle{ (10201)_3 = 100}\)
możesz ją zamienić na dziewiątkowy grupując po 2
\(\displaystyle{ 01 \ 02 \ 01 = (121)_9 = 100}\)
itd..

[Systemy liczbowe] Zamiana z 4 na 8.

: 13 gru 2013, o 19:40
autor: Macjej
Dziękuję bardzo, czyli jednak, nawet jeśli istnieje taki sposób, to nie jest to proste : >. Jeszcze raz dzięki.

[Systemy liczbowe] Zamiana z 4 na 8.

: 17 gru 2013, o 11:14
autor: Anthil
Przecież Tobie napisał jak to zrobić o.O przez pogrupuj ma na myśli np. w dziesiętnym 12, w dwójkowym 1100 teraz z dwójkowego na czwórkowy robisz 11 00 pierwsze dwie cyfry (11) to w dwójkowym co jest? Oczywiście że 3 a (00) w dwójkowym to co? To oczywiście 0. Masz więc 11 00 = 3 0 a te 30 to w czwórkowym 12. Z oktalnym tak samo ale musisz mieć po 3 bity czyli jak kolega wyżej pokazał 1100 rozbijasz na 001 100 (dwa zera z przodu dopisujesz). Łatwe w implementacji.

[Systemy liczbowe] Zamiana z 4 na 8.

: 3 lut 2014, o 14:02
autor: valgodeskom
Nie trzeba zamieniać liczby za każdym razem na system dziesiętny. Komputer i tak pamięta ją zawsze jako liczbę w sys. dwójkowym.

Prosta metoda - i prosta implementacja na dowolny język programowania.

Dla liczby całkowitej:
* dzielimy liczbę przez podstawę nowego systemu i odpisujemy resztę z tego dzielenia (to kolejne cyfry w liczbie w nowym systemie), a z całkowitym wynikiem dzielenia postępujesz tak samo (rekurencyjnie)

Dla liczby ułamkowej
* mnożymy część ułamkową liczby przez podstawę nowego systemu i odpisujemy od wyniku część całkowitą (to kolejne cyfry po przecinku w liczbie ułamkowej w nowym systemie), a z pozostałą częścią ułamkową postępujesz tak samo (rekurencyjnie)

Wynik możesz sobie sprawdzić na:

Kod: Zaznacz cały

http://systemyliczbowe.urfu.pl