Volledige versie bekijken : Tellen in binair .



Fck_
21 December 2009, 15:50
Hallo !

Even een klein vraagje. Ik ben even heel het 'Tellen in binair' aan het nakijken, en ik weet even iets niet.

Als je bijvoorbeeld 4 voorstelt in binair als: 0010 ,
en je wil dat x2 doen, dan moet je gewoon vanachter een 0 toevoegen,
Je krijgt dus: 00100.

Maar als je bijvoorbeeld 0010 x6 wil doen? Bestaat er een regel voor hoeveel nullen je dan moet toevoegen van achter?

En x5 ? of x7 fzo, daar is geen regel voor?
Is mss een domme vraag, mr ik weet het even niet :P.
Bedankt!

ultddave
21 December 2009, 16:09
Dat gaat enkel bij:

x2 x4 x8 x16 x32 x64 x128 ...

Als je het logaritme neemt van die factor. Dan weet je hoeveel nullen je moet inschuiven.
x2 => log(2) = 1
x16 => log(16) = 4
...

Maar er bestaat een 'makkelijke' methode voor de andere berekeningen.

Bij x6 moet je dit doen:
x4 + 2x

Dus:

0010 maal 4
=> log(4) = 2
Dus daarom voegen we 2 nullen toe:
001000

En dan doen we 0010 maal 2
=> log(2) = 1
Dus daarom voegen we 1 nul toe (aan het oorspronkelijke getal)
00100

En dan tel je beiden resultaten op:
001000 + 00100 = 001100 = binaire voorstelling van 12

Dit kan je ook doen door gewoon 0010 + 0010 + 0010 en dat 6 keer te doen :p. Dat is eigenlijk hetzelfde als vermenigvuldigen. Maar dat is niet echt makkelijk bij grote factoren :D.

Bij x11 moet je dit doen:
x8 + 2x +1x (8 + 2 + 1 = 11)

Dus:

0010 maal 8
=> log(8) = 3
Dus daarom voegen we 3 nullen toe:
0010000

En dan doen we 0010 maal 2
=> log(2) = 1
Dus daarom voegen we 1 nul toe (aan het oorspronkelijke getal)
00100

En dan doen we 0010 maal 1
=> log(1) = 0
Dus daarom voegen we 0 nullen toe (aan het oorspronkelijke getal)
0010

En dan tel je alle resultaten op:
0010000 + 00100 + 0010 = 0010110 = binaire voorstelling van 22

Algemeen:
Zoek elke keer de grootste binaire waarde kleiner dan de factor.
Dus als je maal 11 moet doen. Ga je kijken welk binair getal net onder 11 komt.
16 is groter dan 11, dus die niet
8 is het grootste getal, kleiner of gelijk aan 11
Dus onthouden we 8 en doen we 11 - 8 = 3 En nu doen we hetzelfde met 3
4 is groter dan 3 dus die nemen we niet
2 is kleiner of gelijk aan 3, dus die onthouden we, en we doen 3-2=1
1 is kleiner of gelijk aan 1, dus die onthouden we, en we doen 1-1=0 (klaar)

Nu heb je dus 8, 2 en 1 als binaire getallen. En daarmee kan je dus wel werken met die "bitshift" methode (nullen toevoegen). ;)

PS: Als test kan je eens 0010 x100 doen :D.

Mvg,
Dave

Fck_
21 December 2009, 16:28
Thx ! Daar heb ik echt veel aan ^^ . Mooi .

Fck_
21 December 2009, 18:47
héhé ,
Nu denk ik er eigenlijk pas aan , maar het logaritme van 2 is toch 0,3 fzo? Hoe kom je dan aan 1 :p ?

ultddave
21 December 2009, 20:16
Jij bedoelt de wortel misschien?

Ik heb het trouwens over de "2 log" en niet de "10 log". ;)

log 8 = 3 omdat 2^3 = 8

log 16 = 4 omdat 2^4 = 16 (2 tot de macht 4)

Ik heb die "2" voor de log weggelaten omdat het anders nogal onduidelijk gaat overkomen, dan lijkt het net alsof je alles met 2 zou vermenigvuldigen als ik bijvoorbeeld:
2log8 zou schrijven :D.

http://nl.wikipedia.org/wiki/Logaritme

Mvg,
Dave

Fck_
21 December 2009, 21:29
Nee, khad log voor , mr de 10 log dus ;) , tis duidelijk nu. Thx !

Phil O'Sophe
21 December 2009, 22:18
Zou er natuurlijk wel een "artikeltje" over kunnen schrijven, maar

hier (http://www.emmauscollege.nl/anw/majewski.nl/VWO/bijeenkomsten/bijeenkomst5/binair.htm) vind je ook al wat ;)

Fck_
21 December 2009, 22:58
Thx !
Ga ik ook eens helemaal doorlezen !

carl
21 December 2009, 23:14
Er is ook een fijne trick (?) waarmee je gewoon kan vermenigvuldigen/... met een algoritme (een beetje te vergelijken met de staartdeling enz) maar ik ken de precieze regels niet meer ;)

Phil O'Sophe
22 December 2009, 11:49
Ik heb nog altijd een beknopte "cursus" over het binair talstelsel (was bestemd voor de leerlingen Electronica-weekendcursus).

Kan die, indien er interesse is, op ons forum plaatsen.

Fck_
22 December 2009, 14:26
Ik heb er wel interesse in Phil o'sophe! Als het geen te grote moeite is voor jou ..

Phil O'Sophe
22 December 2009, 21:35
Ik heb er wel interesse in Phil o'sophe! Als het geen te grote moeite is voor jou ..

Zeker geen te grote moeite WoYA !
Komt in orde; kan wel enkele dagen duren en zal misschien in "Dossiers" staan.
Effe uitkijken dus ;)

Fck_
22 December 2009, 21:41
Okéé , dankje ! Ben benieuwd ^^ !

Phil O'Sophe
25 December 2009, 22:23
Het onderwerp komt morgen in "Dossiers" hé WoYA ! ;)

Jij (en gelijk wie) kan er dan nog altijd op reageren en/of vragen stellen.

Fck_
25 December 2009, 22:49
Okéé , Dankje !

Phil O'Sophe
27 December 2009, 20:08
Vorige post (#16) zal eerlang verwijderd worden in dit topic en zal in een andere versie te vinden zijn in "Dossiers".