Ratkaisuja täydellisen online-tietokanta- ja Internet-urakurssin luvun 3 ongelmiin alusta alkaen

Ratkaisuja Taydellisen Online Tietokanta Ja Internet Urakurssin Luvun 3 Ongelmiin Alusta Alkaen



Ongelmat ja niiden ratkaisut
1. Piirrä numeroviiva kokonaisluvuilla -10 - +10.

Ratkaisu:









2. Lisää seuraavat binääriluvut 8-bittiseen kahden komplementtiin: 1010102 ja 11112.



Ratkaisu:





3. Käytä vain kahden komplementin lähestymistapaa 8-bittisenä vähentääksesi binääriluku 11112 binääriluvusta 1010102.



Ratkaisu:

101010 8-bittisessä kahden komplementissa on 00101010.
1111 8-bitissä on 00001111.
Kääntämällä kaikki 00001111 8-bittisenä, saadaan 11110000.
Kun 1 lisätään 11110000:een, saadaan 11110001.
Kahden komplementin vähentäminen on kahden komplementin positiivisten ja negatiivisten lukujen lisääminen seuraavasti:

Viimeinen 1:n siirto heitetään pois kahden komplementin vähennyksellä.

5. Jaa 36,37510 luvulla 100010 desimaali- ja binäärimuodossa ja vertaa tuloksia.

Ratkaisu:

Jaon palauttamista käytetään.
Desimaalijako neljällä:

Vastaus on 36 10 loput 375 10 .

36,375 10 kokonaisluku on muutettava kantaluvuksi 2 seuraavasti:

Lukemalla loput alhaalta: 36 375 10 = 1000111000010111 2 .

1000 10 kokonaisluku on muutettava kantaluvuksi 2 seuraavasti:

Lukemalla loput alhaalta: 1000 10 = 1111101000 2 .

Seuraavaksi 1011000100110111 2 jakaa 1111101000 2 pitkällä jaolla (palauttamalla divisioona) vuodesta 36 375 10 = 1011000100110111 2 ja 1000 10 = 1111101000 2 (binäärijako kymmeneen bittiin):

Jako alkaa itse asiassa jaon yhdestoista bitistä, koska jaon kymmenen ensimmäistä bittiä on pienempi kuin jakaja. Vastaus on 100100 2 loput 101110111 2 .

Tulosten vertailua varten on nyt osoitettava, että osamäärän kokonaisluvut ovat yhtä suuret ja jäännökset yhtä suuret. Tämä tarkoittaa, että on osoitettava, että 36 10 = 100100 2 ja 375 10 = 101110111 2 .

Kokonaislukuosille:

Loput:

6. Käytä valitsemaasi 8-bittiä havainnollistaaksesi loogista AND-, OR-, XOR-, Invert-, Shift Right-, Shift Left-, Rotate Right- ja Rotate Left -toimintoa. Jokaisessa tavussa tulee olla sekoitus ykkösiä ja nollia.

Ratkaisu:

  1. a) Kirjoita nollan ASCII-merkin numeerinen koodi heksadesimaali-, binääri- ja desimaalimuodossa.
    b) Kirjoita ASCII-merkin '1' numerokoodi heksadesimaali-, binääri- ja desimaalimuodossa.
    c) Kirjoita 'A':n ASCII-merkin numeerinen koodi heksadesimaali-, binääri- ja desimaalimuodossa.
    d) Kirjoita 'a':n ASCII-merkin numeerinen koodi heksadesimaali-, binääri- ja desimaalilukuina.

Ratkaisu:

a) '0': 30, 00110000, 48
b) '1': 31, 00110001, 49
c) 'A': 41, 001000001, 65
d) 'a': 61, 001100001, 97

8. Muunna 49.4910 kakkospohjaksi. Muunna tuloksesi IEEE 32-bittiseen liukulukumuotoon.

Ratkaisu:

Lomakkeet 49.4910, 49 ja .49 muunnetaan eri tavalla perus 2:ksi.

Muunnetaan 49:

∴ 4910 = 1100012 luetaan viimeisen sarakkeen alaosasta.

Muunnetaan .49:

.49 x 2 = 0,98 ensimmäinen bitti on 0
.98 x 2 = 1,96 sekunnin bitti on 1
.96 x 2 = 1,92 kolmas bitti on 1

∴ .49 10 = 110 2 lue viimeisen sarakkeen yläosasta.

Eli 49,49 10 = 110001.110 2

110001.110 2 = 1,10001110 x 2 +5 perusmuodossa kaksi

'1.' 1,10001110 merkitsevässä eikä sitä ole ilmoitettu tuloksessa, mutta sen oletetaan olevan siellä.

Eksponentille 127 10 edustaa nollaa. Tämä tarkoittaa, että indeksi (teho) on 5 10 2:sta 5 lisätään 127:ään 10 . Tuo on:

127 10 + 5 10 = 132 10

132 10 on muutettava kantaluvuksi kaksi ja sovitettava sitten eksponentin kenttään.

Eli 132 10 = 10000100 2

10000100 2 on 7 bittiä. Eksponentti on kahdeksan bittiä. 10000100 2 siinä on kahdeksan bittiä ja se on kunnossa.

49,49 10 on positiivinen, joten etumerkkibitti on 0. 32-bittisessä liukulukumuodossa 49,49 10 = 110001.110 2 On:

0 10000100 100011100000000000000000

  1. a) Miten IEEE:n 64-bittinen liukulukumuoto eroaa 32-bittisestä muodosta?
    b) Kerro kaksi toisiinsa liittyvää syytä, miksi 64-bittistä formaattia kuvataan kaksinkertaisena tai korkeampana tarkkuudella kuin 32-bittinen.

Ratkaisu:

  1. – Numeroa edustaa 64 bittiä, ei 32.
    – Etumerkkibitin jälkeen eksponenttiluvulle on 11 bittiä.
    – Eksponenttinumero nollaindeksille (2 0 ) on 1023 10 = 01111111111 2 .
    – Yksitoista bittiä seuraa 52 bittiä eksplisiittistä merkitsevyyttä varten.
    – Siinä on laajempi numeroalue kuin 32-bittisessä muodossa.
  2. Syy, miksi 64-bittistä muotoa kuvataan kaksinkertaisena tai korkeampana tarkkuudella 32-bittiseen muotoon verrattuna, on se, että kahden peräkkäisen sekamurtoluvun välinen aikaväli, joka on rajattu kahdella peräkkäisellä kokonaisluvulla 64-bittisessä muodossa, on pienempi kuin vastaava. 32-bittinen muotoväli. Lisäksi kahden rajatun kokonaisluvun välillä on enemmän mahdollisia sekamurtolukuja 64-bittisessä muodossa kuin vastaavasti 32-bittisessä muodossa.