Mäluühikud ja arvutused

Allikas: Kuutõrvaja

Sissejuhatus

Bitt on kõige väiksem infoühik arvutis. Kahendsüsteemi arvuna on ta väärtus 0 või 1. Kaheksast bitist moodustub 1 bait. Näiteks:

 11001101

Üks bait võib sümboliseerida tähemärki või sümbolit: ö, ä, 2, # jne.

Iga järgmine ühik on eelnevast 1024 võrra suurem. 1024 selle tõttu, et tegu on arvu 2 astmega.

 1000 / 8 = 125
  125 / 8 = 15.625

Arv 1000 ei jagu kaheksaga. Tegu pole ka kahendastmega.

 1024 / 8 = 128
  128 / 8 = 16
   16 / 8 = 2
 
 21  = 2
 22  = 4
 23  = 8
 24  = 16
 25  = 32
 26  = 64
 27  = 128
 28  = 256
 29  = 512
 210 = 1024
 211 = 2048
 212 = 4096

Arv 1024 on 2 astmel 10.

 8 bitti = 1 B  (bait)
 1024  B   =  1 KiB (kibibait)  e.  1 024 baiti.
 1024  kB  =  1 MiB (mebibait)  e.  1 048 576 baiti.
 1024  MB  =  1 GiB (gibibait)  e.  1 073 741 824 baiti.
 1024  GB  =  1 TiB (tebibait)  e.  1 099 511 627 776 baiti.
 1024  TB  =  1 PiB (pebibait)  e.  1 125 899 906 842 624 baiti.
 1024  PB  =  1 EiB (exbibait)  e.  1 152 921 504 606 846 976 baiti.
 1024  EB  =  1 ZiB (zebiabait) e.  1 180 591 620 717 411 303 424 baiti.
 1024  ZB  =  1 YiB (yobibait)  e.  1 208 925 819 614 629 174 706 176 baiti.

1999. aastast alates jõuti kokkuleppele mäluühikute uues nimetamise korras. 1024 baiti ei ole enam 1 kilobait vaid 1 kibibait. Seda seetõttu, et kilo = 1000 e. 103, samas kui kibi (bi = binary e. binaarne) on 1024 e. 210.

DEC vs HEX vs BIN

DEC e. kümnendsüsteem

HEX e. kuueteistkümnendsüsteem

BIN e. binaarsüsteem e. kahendsüsteem

 DEC     HEX       BIN
   0       0     00000
   1       1     00001
   2       2     00010
   3       3     00011
   4       4     00100
   5       5     00101
   6       6     00110
   7       7     00111
   8       8     01000
   9       9     01001
  10       A     01010
  11       B     01011
  12       C     01100
  13       D     01101
  14       E     01110
  15       F     01111
  16      10     10000
  17      11     10001
  18      12     10010
  19      13     10011
  20      14     10100

Arvu teisendamised

Kümnendsüsteemist kahendusteemi

Arvu teisendamiseks kahendsüsteemi tuleb arv jagada kahega, kuniks arv >= 1.

Näiteks arvu 17 puhul:

 arv  jääk
  17     1   # 17 / 2 = 8.5
   8     0   #  8 / 2 = 4
   4     0   #  4 / 2 = 2
   2     0   #  2 / 2 = 1
   1     1   #  1 / 2 = 0.5

Kahendsüsteemi arvu loetakse alt üles! Vastus:

 10001

Arvu 2010 puhul:

  arv  jääk  
 2010     0   # 2010 / 2 = 1005
 1005     1   # 1005 / 2 =  502.5 
  502     0   #  502 / 2 =  251
  251     1   #  251 / 2 =  125.5 
  125     1   #  125 / 2 =   62.5
   62     0   #   62 / 2 =   31
   31     1   #   31 / 2 =   15.5
   15     1   #   15 / 2 =    7.5
    7     1   #    7 / 2 =    3.5
    3     1   #    3 / 2 =    1.5 
    1     1   #    1 / 2 =    0.5

Vastus:

 11111011010

Teine viis kümnendarvu teisendamiseks: Kirjutada välja kahendsüsteemide arvud kümnendüsteemi arvudena järkude kaupa, ning valime endale need arvud, mis sobivad meie otsitava arvu osadeks. Näiteks, otsitava arvu 37 puhul:

     64  32  16  8  4  2  1
37 :  0   1   0  0  1  0  1

64 ei sobi ( 0 + 64 > 37)
32 sobib   ( 0 + 32 < 37)
16 ei sobi (32 + 16 > 37) 
 8 ei sobi (32 +  8 > 37)
 4 sobib   (32 +  4 < 37)
 2 ei sobi (36 +  2 > 37)
 1 sobib   (36 +  1 = 37)

Vastus:

 100101

Kahendsüsteemist kümnendüssteemi

Igat binaararvu numbrit tuleb korrutada kahega, millel on omakorda aste. Astmed suurenevad paremalt vasakule.

Binaararvu 10001 puhul:

 1*24 + 0*23 + 0*22 + 0*21 + 1*20  =  1*16 + 0*8 + 0*4 + 0*2 + 1*1  =  16 + 0 + 0 + 0 + 1 = 17

Binaararvu 11001101 puhul:

 1*27 + 1*26 + 0*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20  =
 =  1*128 + 1*64 + 0*32 + 0*16 + 1*8 + 1*4 + 0*2 + 1*1 = 128 + 64 + 8 + 4 + 1  =  205

Internetikiirused

Teenusepakkujad reklaamivad kiiruseid megabittides, mitte mebibaitides, mistõttu see jääb tihti arusaamatuks. Mis värk siis tegelikult on?

Oletame, et pakutakse internetti kiirusega 6 Mbit/s (kuus megabitti sekundis).

Kui sõbral on internetti üles laetud pilt, mille maht on 2 MB, siis allalaadimine võtab vähem kui 2 sekundit? Vale!

 6 Mbit/s  = 6 / 8 = 0.75 MB/s  # jagasime kaheksaga, sest 8 bitti = 1 bait (bitt->bait)
 0.75 MB/s = 768 KiB/s          # 0.75 korrutasime läbi arvuga 1024, et saada tulemus kibibaitides (1024 KiB = 1 MiB)

Nüüd on siis teada, et 6 Mbit/s ühendus on tegelikult 768 KiB/s e. 0.75 MB/s. Seega 2 MB suuruse pildi peaks kätte saama

 2 MB / 0.75 MB/s = ~ 2.6 sekundiga  # eeldades, et saame täis kiirusel seda tõmmata

Operatsioonisüsteemid ja ühikud

Erinevad operatsioonisüsteemid kuvavad failide suuruseid ja kettamahte erinevates ühikutes. Tihti võib täheldada, et faili suurus on 640 MB, aga ka 655 360 KiB. Kõiges on süüdi teisendamine ja asjaolu, et 1024 baiti = 1 KB jne...

 640 MB = 640 * 1024 = 655 360 KiB = 655 360 * 1024 = 671 088 640 B

Tavaline CD plaat mahutab 700 MB või siis

 700 MB * 1024 * 1024 = 734 003 200 baiti (MB -> KiB -> B)

Bitrate

Bitrate e. andmevoo suurus, kui palju multimeedia (video/audio) kadudeta esitamiseks vajab. Ühikuks on kbps e. kilobitti sekundis e. kbit/s.

1 minuti pikkune mp3 fail, millel bitrate 128:

 128 kbps = 128 / 8 = 16 KiB/s
 16 KiB * 60 = 960 KiB/min   # korrutasime 60-ga, sest minutis on 60 sekundit

1 minuti pikkune mp3 fail, millel bitrate 224:

 224 kbps = 224 / 8 = 28 KiB/s
 28 KiB * 60 = 1680 KiB/min = 1680 / 1024 = ~1.64 MiB/min # jagasime 1024-ga, sest 1024 KiB = 1 MiB

Mida suurem on bitrate, seda kvaliteetsem ja suuremahulisem on multimeedia.

Lingid

http://en.wikipedia.org/wiki/Binary_prefix