Dwa pytania dotyczące systemów liczbowych


(szpon5) #1

Witam serdecznie, za tydzień mam egzamin zawodowy z informatyki i chcę ogarnąć systemy liczbowe. Znalazłem stronę na której fantastycznie jest wyjaśnione.

http://www.programuj.com/artykuly/rozne/sysliczb.php

Jeszcze nie nauczyłem się wszystkiego stamtąd, najpierw chcę się zgłosić o pomoc tutaj, gdyż natrafiłem na przeszkodę.

Jest tam napisane tak:

W systemie dziesiętnym. Ale każdy system działa tak samo, tylko zmieniają się liczby i sposób ich mnożenia, ale idzie to na tej samej zasadzie.

I teraz mój problem.

System ósemkowy:

Wiem dlaczego, ponieważ liczby 8 nie ma w systemie ósemkowym domyślnie, więc trzeba dodać następną pozycję po lewej stronie, a tą po prawej zamienić na 0. Czyli 10 "jeden i zero".

Więc nie rozumiem tego:

8 to wiadomo czemu będzie 10. Ale czemu potem 9 przyjmuje wartość 11, a 10 liczbę 12? Przecież kiedy system nie ma w sobie tej liczby to wartość po prawej zamieniamy na 0, więc czemu jest 11? Czyli każdą dalszą liczbę po prawej zwiększamy o 1?

Czyli liczba 11 to w ósemkowym będzie 13, 12 to będzie 14, 13 to będzie 15 itd.? Jeśli tak, to dlaczego tak się dzieje, myślałem, że liczba po prawej przyjmie wartosć 0 a po lewej dodamy 1. No to jest po lewej 1, ale po prawej jednak zwiększa się.

A co jeśli w dziesiętnym będziemy mieć 19, to w ósemkowym będzie 21?

Gdy odpowiecie mi na to, to zadam następne pytanie, bo mam jeszcze jeden problem, ale najpierw to chcę zrozumieć.


([alex]) #2

ponieważ np 12 w systemie 8-kowym to

1*8+2*1

lub co jest to samo:

1*(8^1)+2*(8^0)

wszystko to samo tylko zamiast 10-ki masz 8-kę.


(szpon5) #3

Nie wiem czy dobrze rozumiem. A więc:

Czyli 12 w ósemkowym to w dziesiętnym będzie 10, ponieważ: 2*1+1*8 = 2+8 = 10

A 10 w dziesiętnym to w ósemkowym będzie 12, ponieważ?


(Sawyer47) #4

Każda cyfra ma wagę będącą potęgą podstawy (tzn oczywiście w tych systemach o których mowa, bo można sobie wymyślić inny). Cyfra zerowa ma wagę dla systemu ósemkowego 8^0 = 1, pierwsza cyfra ma wagę 8, kolejna 8^2 = 64 itp.. Aby przejść na dziesiętny każdą cyfrę mnożysz razy jej wagę i sumujesz. W drugą stronę, czyli z dziesiętnego na inny na kartce to trochę więcej liczenia, ale też do zrobienia, zobacz:

http://pl.wikipedia.org/wiki/Dziesi%C4% ... i.C4.99tny


(Johny) #5

Każdy system liczbowy ma swoją podstawę,którą pomnaża się,x do n

w systemie dziesiętnym x=10 do n

stąd masz 1,10,100,1000,10000 to x podniesione do n potęgi

w systemie binarnym x=2 do n

czyli mamy 0(0),1(01),2(10),4(100),8(1000),16(10000),32(10000) itd.

To co przekracza postawę o potęgę jest kolejnym rzędem wielkości


(szpon5) #6

Johny już zaczął odgadywać moje drugie pytanie które chciałem zadaćhehe, a więc zadam je teraz.

Ale najpierw:

Czy to dobrze rozumiem?: Czyli 12 w ósemkowym to w dziesiętnym będzie 10, ponieważ: 2*1+1*8 = 2+8 = 10

Drugie pytanie:

Dlaczego tak? Jak to jest obliczone


(sadaj72) #7

8 4 2 1

od prawej do lewej, 0011 = 2+1 = 3

0 1 0 0 = 4

0 1 0 1 = 4+1

itd


(szpon5) #8

sadaj, kompletnie nic nie rozumiem co ty mi napisałeś.

Ja wam dziękuję naprawdę bardzo za odpowiedzi, jeszcze tylko to chciałbym wiedzieć:

Dlaczego w dwójkowym wyszły takie, jak to się liczy, jak to idzie?


([alex]) #9

Na przykład liczba 153:

153 / 2 = 76 i 1 reszty

76 / 2 = 38 i 0 reszty

38 / 2 = 19 i 0 reszty

19/2 = 9 i 1 reszty

9/2 = 4 i 1 reszty

4/2 = 2 i 0 reszty

2/2 = 1 i 0 reszty

1/2 = 0 i 1 reszty

teraz te reszty zapisujesz w odwrotnej kolejności:

10011001 - to jest 153 w systemie dwójkowym.

Tak samo postępujesz aby liczbę dziesiętną skonwertować na dowolny inny system.


(szpon5) #10

alex, ja o tym już wiedziałem, ale wczytałem teraz się głębiej i spróbowałem zamienić te liczby 3, 4, 5, 6... na dwójkowy. No i nareszcie wyszło mi, w końcu zrozumiałem.

Bardzo wam dziękuję za pomoc =D>