Autor: MK (kosior_at_teleweb.at)
Data: Sat 23 Jan 1999 - 00:46:32 MET
Najprościej na przykładzie:
Liczba w systemie dziesiątkowym przedstawia się następująco:
789
czyli (patrz na kolejne potęgi)
9*10^0=9
8*10^1=80
7*10^2=700
co razem daje 700+80+9=789
Ta liczba w sys. ósemkowym wygląda nast.
1425 bo
5*8^0=5
2*8^1=16
4*8^2=256
1*8^3=512
co razem daje 1425
z sys. ósemkowego bezpośrednio przechodzimy na dwójkowy każdą cyfrę
kolejno zapisując grupą trzech cyfr w systemie dwójkowym
001 100 010 101 bo
1*2^0=1
zero możemy pominąć
1*2^2=4
1*2^4=16
1*2^8=256
1*2^9=512
co nam to daje? 1+4+16+256+512=789
pozdrawiam: kosior_at_teleweb.at
Skrzypek napisał(a) w wiadomości: <78aed8$j62$1_at_helios.man.lublin.pl>...
> Czy ktoś jest w stanie wyjaśnić mi podstawy przedstawiania liczb w
>systemie dwójkowym, czwórkowym, ósemkowym i szesnastkowym????
>
> Dwójkowy, dziesiętny i szesnastkowy system znam, a o czwórkowym czy
>ósemkowym w życiu nie słyszałem.
> Czy ktoś mnie oświeci, chociaż orientacyjnie.
>
> Interesuje mnie przeliczanie na różne systemy zarówno w jedną stronę
jak
>i w drugą.
>
>
>Dowolną liczbę w systemie n-kowym przedstwia się następująco:
>
>(pisząc od końca liczby - od prawej do lewej cyfry, znak "+" oznacza
>następną cyfrę w lewo)
>
>a1*(n^0)+a2*(n^1)+a3*(n^2)+a4*(n^3)+... ,
>
>gdzie znak "^" oznacza "do potęgi", a liczby a1, a2, a3, a4, ... są
>wartościami poszczególnych cyfr liczby i należą do przedziału <0;n-1> (np.
>dla systemu 2-kowego: {0,1}, 4-kowego: {0,1,2,3}, 8-kowego:
>{0,1,2,3,4,5,6,7}, 10-tnego: {0,1,2,3,4,5,6,7,8,9}, 16-kowego:
>{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E} itd.
>
>Jeżeli mamy daną liczbę x1, którą chcemy przedstawić w systemie n-kowym,
>należy najpierw znaleźć najmniejszą potęgę liczby n, większą od x1. Jeżeli
>oznaczymy wykładnik tej potęgi przez m, to ilość cyfr liczby x1 w systemie
>n-kowym będzie równa m.
>
>Kiedy znamy ilość cyfr, możemy wyliczyć wartości kolejnych cyfr. Robimy to
>od lewej do prawej cyfry. Najpierw należy liczbę x1 podzielić przez
n^[m-1].
>Cecha (część całkowita) z otrzymanego wyniku daje nam am - pierwszą cyfrę
od
>lewej.
>
>Żeby otrzymać drugą cyfrę, należy od liczby x1 odjąć am*(n^[m-1]).
Otrzymamy
>pewną liczbę x2 (to, co zostało jeszcze do rozpisania). Następnie należy x2
>podzielić przez n^[m-2]. Cecha z otrzymanego wyniku daje a[m-1] - drugą
>cyfrę od lewej.
>
>Trzecia cyfra od lewej:
>x2 - a[m-1]*(n^[m-2]) = x3
>Cecha { x3 / n^[m-3] } = a[m-2]
>...
>[m-1]-sza cyfra od lewej:
>x[m-2] - a3*(n^2) = x[m-1]
>Cecha { x[m-1] / n^1 } = a2
>
>m-ta cyfra od lewej:
>x[m-1] - a2*(n^1) = xm
>Cecha { xm / n^0 } = a1
>
>Sprawdzałem ten "algorytm" tylko na systemie dwójkowym i dziesiętnym (i w
>dodatku "w pamięci"), ale powinien działać poprawnie dla wszystkich
>systemów. Niestety, nie jestem dobrym matematykiem, więc jeżeli ktoś
>znajdzie jakiś błąd, niech szybko da znać na listę.
>
>Pozdrawiam!
>
>Skrzypek
>
>
>
To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 18:07:17 MET DST