Muttaaksemme positiivisen kokonaisluvun, meidän on muunnettava binääriluku desimaaliluvuksi. Teemme tämän kertomalla i:nnen bitin luvulla 2i. Eli oikeanpuoleisin bitti kerrotaan 20:llä eli 1:llä, toiseksi oikeanpuoleisin 21:llä eli 2:lla ja kolmanneksi oikeanpuoleisin bitti 22:lla eli 4:llä ja niin edelleen.

Siten binääriluku 1010 on: 1*23+ 0*22+1*21+0*20 = 8+0+2+0 = 10 desimaaliluku

Toinen tapa ilmaista asia: aloittaen oikeanpuoleisimmasta bitistä ja vasemmalle mentäessä annamme jokaiselle bitille, joka on 1, arvon 1,2,4,8,16,32 jne.
Voidaan myös ottaa binääriluku ja muuntaa se binääriluvuksi. Yksi tapa tehdä tämä on kirjoittaa jokaisen bitin base-10-arvot, kunnes löydät yhden, joka on suurempi kuin luku, jonka yrität muuntaa. Joten Perus-10-lukua 155 varten kirjoitetaan :
arvoa vastaavat arvot :
arvo: 256 128 64 32 16 16 8 4 2 1
Lukua 155 saadaksemme emme voi asettaa 256 bittiä, mutta voimme asettaa 128:n, joten laitamme sinne ’1’n.
arvo: 256 128 64 32 16 16 8 8 4 2 2 1
0 1
Tarvitsemme edelleen 155-128=27. 64 ja 32 ovat liian suuria, joten laitamme niihin 0:t ja 16:een 1:n:
arvo: 256 128 64 32 16 8 4 2 1
0 1 0 0 1
Tarvitsemme vielä 155-128-16=11. Annamme siis 1:n 8-arvoiselle numerolle. Tarvitsemme vielä 3 lisää, joten laitamme 0:n 4-arvoon ja 1:n 2-arvoon ja 1-arvoon. Näin saamme binääriluvun:
arvo: 256 128 64 32 16 8 4 2 1
0 1 0 0 0 1 1 1 0 1 1 1
155 desimaali vastaa siis 010011011 binäärilukua.
Integereille varataan yleensä 4 tavua (32 bittiä) tai 64-bittisissä tietokoneissa usein 8 tavua.
Lukujen esittäminen liukuluvuilla
Lukujen esittäminen liukuluvuilla tapahtuu samoin kuin kokonaislukujen esittäminen, mutta joitakin bittejä varataan luvun murtolukuosaa varten. Tästä syystä liukuluvuille varataan yleensä enemmän bittejä (esim. 64 bittiä 32:n sijaan).
Esimerkki: Kaksi oikeanpuoleisinta bittiä on murto-osa. Mikä olisi silloin arvo:
101010?

Merkit ja merkkijonot

Jokainen näppäimistön symboli – kirjaimet, numerot jne. – esitetään tietokoneen muistissa sisäisesti numerolla. Kutsumme näitä merkkejä.
Numeroiden ja symbolien väliset yhdistelmät on määritelty ASCII-taulukossa: http://www.lookuptables.com/.
Kuviointitaulukko tunnettiin nimellä ASCII-taulukko tai ASCII-koodi. ASCII:n avulla kukin symboli esitettiin numerolla 0:n ja 255:n välillä (kysymys: kuinka monta bittiä tarvitaan tällaisen numeron tallentamiseen?)
Nykyaikaiset tietotekniikkajärjestelmät käyttävät nykyään Unicodea, joka voi edustaa monia eri kieliä ja joka vaatii ylimääräisiä bittejä kunkin symbolin esittämiseen, jotta se ei olisi englanninkielinen. Englanninkielisten symbolien osalta voidaan kuitenkin edelleen käyttää ASCII-taulukkoa kunkin symbolin arvon etsimiseen.

merkkijono on merkkijono, esim. ’koira’. Tallennamme sisäisesti jokaisen merkin unicode-numeron ja erityisen merkkijonon loppumerkin. Sana ’koira’ on siis itse asiassa d:n unicode-numero, o:n unicode-numero, g:n unicode-merkki ja lopuksi merkkijonon loppumerkki, joka on \0′. ’d’ on ASCII-taulukossa 100 desimaalilukua, joten ’koira’ esitetään seuraavilla desimaaliluvuilla (kukin tallennettuna 16 bittiin):
100 111 103 0
Luvut tallennetaan yleensä kokonaislukuina, kuten edellä on selitetty. Mutta kun saamme syötettä käyttäjältä tai näytämme arvoja, meidän on käsiteltävä numeroita, jotka esitetään numerosarjoina. Kuten kirjaimetkin, numerot ovat merkkejä. Numero ’0’ on unicode-numero 48 ja ’9’ on unicode-numero 57. Merkkijono ’724’ tallennetaan sisäisesti seuraavasti: 55 50 52 0

Taulukkolaskenta

1. Tarkastellaan seuraavia kuusitoista bittiä:

0000 0000 0100 1101

a. Mikä on luvun arvo, jos se edustaa positiivista kokonaislukua (kokonaislukua)?
b. Jos bittijono edustaa symbolia, mikä symboli se on? Voit käyttää ascii-hakutaulukkoa http://www.lookuptables.com/

2. Tietokoneissa oli ennen 64K muistia. Mikä on K? Onko se pyöreä luku? Miksi tietojenkäsittelytieteilijät eivät käytä mukavia pyöreitä lukuja, kuten 1000?
3. Mikä on megatavu? Gigatavu? Mikä on tuhat gigatavua? Miljoona gigatavua?
4. Näytä, miten seuraavat kolme perus-10-lukua esitetään binäärinä.

24 1025 43

5. Näytä, miten ’kissa’ esitetään bitteinä?
6. Kuinka monta mahdollista merkkiä voidaan esittää unicodella (16 bittiä)?
7. Mikä on suurin kokonaisluku, joka voidaan esittää neljällä tavulla, jos tarkastellaan vain positiivisia lukuja?
8. Jos tarkastellaan myös negatiivisia lukuja, mikä on suurin kokonaisluku, joka voidaan esittää neljällä tavulla ? Miten luulet, että negatiiviset luvut esitetään?
9. Kirjoita python-funktio, joka ottaa parametrina numerosarjan ja palauttaa kokonaisluvun, joka on näiden numeroiden base-10-arvo, esim. jos parametrina on ”723”, funktio palauttaa kokonaisluvun 723 (Kyllä, tiedän, Pythonissa on int-funktio– kirjoitat sen tähän).
10. Kirjoita python-funktio, joka ottaa parametriksi merkkijonon, joka koostuu base-10-numeroista, ja palauttaa base-2-numeroiden merkkijonon siten, että base-2-numerot ovat alkuperäisten base-10-numeroiden muunnettu arvo. Jos esimerkiksi lähetettäisiin ”11”, funktio palauttaisi ”1011”.
Työstä yllä olevat kysymykset kynällä ja paperilla. Kun olet valmis, voit tarkistaa binäärimuunnosvastauksesi täältä: http://mistupid.com/computers/binaryconv.htm
Binary conversion help:

Binary Numbers from CSUNPLUGGED

Binääriluvut 60 sekunnissa

Leave a comment

Sähköpostiosoitettasi ei julkaista.