Tiedän binäärijärjestelmän, jota tietokoneet käyttävät. Nyt vaan tuli mieleen ongelma: miten tietokoneet muuntavat kymmenkantaisen luvun binääriseksi?
Eräässä kirjassa väitettiin, että proseduuri olisi seuraavan kaltainen.
Muunnetaan luku 240d binääriluvuksi.
Algoritmi alkaa.
Luetaan 1. numero vasemmalta: 2d
Muunnetaan binääriseksi: 10b
Kerrotaan luvulla 1010b: 10100b (20d)
Luetaan seuraava: 4d
Muunnetaan: 100b
Lisätään välitulokseen: 11000b (24d)
Kerrotaan: 11110000b (240d)
Luetaan: 0d
Lisätään: 11110000b (240d)
Algoritmi päättyy.
Onko tämä oikein, vai kirjoittivatko kirjoittajat höpöjä?
Eräässä kirjassa väitettiin, että proseduuri olisi seuraavan kaltainen.
Muunnetaan luku 240d binääriluvuksi.
Algoritmi alkaa.
Luetaan 1. numero vasemmalta: 2d
Muunnetaan binääriseksi: 10b
Kerrotaan luvulla 1010b: 10100b (20d)
Luetaan seuraava: 4d
Muunnetaan: 100b
Lisätään välitulokseen: 11000b (24d)
Kerrotaan: 11110000b (240d)
Luetaan: 0d
Lisätään: 11110000b (240d)
Algoritmi päättyy.
Onko tämä oikein, vai kirjoittivatko kirjoittajat höpöjä?
Vastaukset 2
Vanhimmat
Mieti ensin miten muutat desimaaliluvun 240 desimaaliluvuksi käyttäen desimaalilukuja.
10*(10*2 4) 0
Ihan samalla tavalla tuo menee sitten kun muutat nuo luvut binäärisiksi.
Kirja on varmasti oikeassa.
Mutta onko tietokoneeseen tallennettu johonkin perusmuunnot: 0 -> 0, 1 -> 1, 2-> 10, ..., 9 ->1001? Minusta pitäisi olla.
Jos on niin mihin? Ja miten kone tekee sen muunnon komponenttitasolla?