MŰSZAKI HORIZONT
 
 

Bináris prefixumok

Az IEC által megalkotott és elfogadott SI mértékrendszer az egész világra kötelezően érvényes. Ez a mértékrendszer szigorúan a tízes számrendszerre épül, a mértékegységek prefixumai tíz egészszámú hatványai. A számítástechnika azonban a bináris számrendszeren alapul, sajátos mértékrendszerrel, amelyre a decimális prefixumok alkalmazása jelentős félreértésekre adhat okot. A cikk javaslatot tesz ennek feloldására.

A prefixumok szerepe

A fizikai, kémiai, technológiai mértékegységekben mért számértékek átfogási mélysége óriási. Ha nem lennének prefixumok, akkor a szélsőséges esetekben nagyon sok nullát kellene a számértékek elé, vagy mögé írni. A prefixumok arra szolgálnak, hogy az SI mértékegységek tízes hatványú egészszámú többszöröseit jelöljük. Az SI mértékrendszer használatát a prefixumokkal együtt a magyar szabvány a mérésügyi törvény értelmében kötelezően előírja. [1]

(Magam részéről szenvedélyes támogatója vagyok a magyar műszaki nyelv használatának, megfordult a fejemben a prefixum magyarítása. Ez esetben azonban, a Magyar Tudományos Akadémia 1991-ben elfogadott XVI. rendelete értelmében mégis az eredeti latin szót kell használni, tehát ne próbáljunk a prefixum helyett „előtagot", vagy egyebet használni.[1])

 

A tízes számrendszerben könnyű a dolgunk, tíz hatványai a tizedesvessző tologatásával igen szemléletesen képezhetők, a műszaki ember begyakorlottan használja. Ez rendet teremt a nemzetközi műszaki életben is, félreértéseket kerülhetünk el pl. az angolszász és magyar köznyelvben használatos billion – milliárd értelmezésben, a 109 = giga egyértelmű jelölésével. Ugyanakkor fel szeretném hívni a figyelmet más rendellenességre is. A szabvány a prefixumokat az SI mértékegységekhez ajánlja, de nem tiltott használni egyéb területen sem. Tilos viszont olyan új mértékegységeket megalkotni, amely ütközik egy korábbival. A digitális méréstechnika például bevezette a mintavétel fogalmát, de ennek nincs mértékegysége. Az angolszász (főként amerikai) műszer-adatlapokon sűrűn előfordul (neves világcégekről van szó), hogy a mintavétel angol nevének, a sample-nek S jelölést adnak. Így egy másodpercenként ötmilliárd mintát vevő oszcilloszkóp mintavételi sebességét 5 GS/s-al jelölik. A szomorú ebben az, hogy ez nemcsak az adatlapon, hanem műszaki szakcikkben is szerepel. Az SI mértékrendszerben olvasó műszaki embernek ez másodpercenkénti 5 gigasiemens vezetőképességet jelent, ami természetesen képtelenség. Mondhatjuk ez ellen, hogy a mértékegységet környezetében kell vizsgálni, és az oszcilloszkópoknál senki sem gondol a szupra-vezetőkre, de mintavételezés előfordulhat különböző vezetőképességű anyagok vizsgálatánál is, ami már komoly jelölésbeli félreértésre adhat okot. Én annak vagyok a híve, hogy a műszaki életben sohasem tegyünk ilyen engedményeket, mert nem tudhatjuk, mikor bosszulja meg magát. A fenti példát tehát írhatjuk 5·109 minta/s, vagy 5 Gminta/s, vagy 5 gigaminta/s alakban, amíg a mintára nem alakul ki a magyar szakirodalomban használatos egyéb szakkifejezés.

A számítástechnika és a digitális elektronika rohamos terjedésével az új tudományág kialakította saját mértékrendszerét. Bár ezeknek semmi közük az SI mértékrendszerhez, hiszen az információ egységéhez (bit) nem kötődik semmiféle fizikai-kémiai mennyiség, az itt előforduló számok hasonlóan széles skálán mozognak. A problémát tetézi, hogy az itt használatos bináris számrendszerbeli számok a szélső esetekben még több nullát tartalmaznak, mint a decimálisak. Feltehetően a műszaki gyakorlatban kialakult szemlélet okozta, hogy a tízes számrendszerben jól bevált prefixumokat próbálták átvinni a kettes számrendszerbe is. (A számítástechnikában használatos még a hexadecimális számrendszer is, ezeknél azonban nem használnak prefixumot, mert alapvetően ez is bináris, csak a számábrázolás foglal el kevesebb helyet.)

A bináris számrendszerben használatos prefixumok

A problémát az okozza, hogy kettő tizedik hatványa éppen ezer-huszonnégy, azaz alig valamivel több a kilo-val jelzett ezernél. Ha nem fizikusi, hanem gyakorlati mérnöki szemlélettel gondolkodunk, akkor ez a 2,4%-os hiba elhanyagolható. Miért ne használhatnánk akkor a jól megszokott decimális prefixumokat? Feltehetően valahogy így alakult ki az a szomorú helyzet, amely a mai műszaki irodalmat jellemzi.

A számítástechnikai szakirodalomban megszokott látvány pl., hogy egy cikknek a terjedelme 38 KB, azaz harmincnyolc kilobájt. Ezt egy fizikus az SI-mértékrendszer szerint Kelvin-bájtnak olvasná, aminek nincs értelme. Igen, mondhatják a gyakorlati szakemberek, ez szőrszálhasogatás, hiszen senki sem mondja a cikk terjedelmét Kelvin-bájtnak, mindenki tudja, hogy a ká kilo-t jelent. Igen, ez egy ismert prefixum, amelyet kis kával jelölünk. Akkor miért írjuk nagy kával? Feltehetően azért, hogy különbséget tegyünk a decimális és bináris prefixumok között, hiszen itt a kilo ezer-huszonnégyet jelent. Ezt még hajlandó lennék (ügyetlen, de) magyarázatnak elfogadni, de mi van akkor a megával? Ez a decimális rendszerben is nagy emmel írandó, a binárisban nem lehet még nagyobbal írni! Marad tehát a 25 MB, a GB, a TB, vagyis még a rossz prefixum-használatban is következetlenek vagyunk. Még rosszabb a helyzet, ha pongyola módon még a mértékegységet is elhagyjuk (mert az magától értetődik), és csak prefixumot használunk. Ha egy memória kapacitása 2k, vagy 2K, akkor nagyon meg kell nézni a szövegkörnyezetet, hogy bitről, bájtról, vagy szóról (amelynek hosszúsága a memória szervezésétől függ) van szó, és még akkor is félreértésre adhat okot. És ha ez tisztázódott, akkor további talány, hogy ez ezerhuszonnégyet, vagy esetleg tényleg ezret jelent. Ugye, hogy semmi sem egyértelmű?

Az angolszász szakirodalom további furcsaságokkal lepi meg az olvasót. Az adatátviteli sebességet legtöbbször kis kával írják, így pl. 128 kbps-nak. Itt már semmi jele az SI hatásának, látszik, hogy ennek kialakításában nem mérnökemberek, hanem matematikusok, programozók vettek részt, és a sűrű publikációból kifolyólag elterjedt mértékegységként szolgál. A bitet éppenséggel nem bűn kis bével jelölni, nem ütközik a nyomásegységgel, a bar-al, (amelyet az SI szerint ki kell írni), mégis helyesebb kiírni a három betűvel, lehetőleg ne használjuk a kis bét önállóan. A magyar helyesírás szerint viszont a per jelet jelöljük /-el, és ne kis pével, ami megint találgatásra adhat okot. A fenti mértéket tehát helyesen 128 kbit/s-al írhatjuk, ha eltekintünk a bináris prefixum nem pontos értékétől, hiszen ebben a rendszerben ez bizonyosan 1024-et jelent. Megjegyezzük, hogy a bit/s-ot a távírótechnikából örökölt Baud-dal (jele: Bd) is jelölhetjük.

A leírt rendellenességeket és következetlenségeket az IEC szakemberei is látták, és megtették első lépésüket, sajnos eléggé későn.

Ajánlott bináris prefixumok

1998 decemberében az IEC (International Electrotechnical Commission) ajánlást tett közzé a bináris prefixumok bevezetésre. Az ajánlásokat az 1. táblázat tartalmazza.

 1. táblázat Bináris prefixumok
Szorzófaktor Név Jelölés Eredet Decimális megfelelő
210 kibi Ki Bináris kilo: (210)1 kilo: (103)1
220 mebi Mi Bináris mega: (210)2 mega: (103)2
230 gibi Gi Bináris giga: (210)3 giga: (103)3
240 tebi Ti Bináris tera: (210)4 terra: (103)4
250 pebi Pi Bináris peta: (210)5 peta: (103)5
260 exbi Ei Bináris exa: (210)6 exa: (103)6

Az új prefixumok kétszótagosak. Az első szótagot örökli az SI-rendszerből, és ezt a jelölésben nagybetűvel írjuk. A második szótag mindig bi, amely a bináris jellegre utal. Ezt a jelölésben kis i betű mutatja.

A szabvány-ajánlás néhány példán mutatja be az új prefixumok használatát, és különbözőségét a decimálisaktól.

  2. táblázat.  Példák a bináris prefixumok használatára
  Megnevezés átszámítás
  Egy kibibit   1 Kibit = 210 bit = 1024 bit
  Egy kilobit   1 kbit = 103 bit = 1000 bit
  Egy mebibájt   1 MiB = 220 B = 1048576 B
  Egy megabájt   1 MB = 106 B = 1000000 B
  Egy gigibájt   1 GiB = 230 B = 1073741824 B
  Egy gigabájt   1 GB = 109 B = 1000000000 B

Ezeket a bináris prefixumokat az IEC Technical Committee (TC) 25 alakította ki, és jelölésrendszerét egyeztette a CIMP (International Committee for Weights and Measures), valamint az IEEE (Institute of Electrical and Electronic Engineers) szervezetekkel. Ez biztosítja az ütközésmentességet. A bináris prefixum ajánlásról olvashatunk a [2]-szerinti web-oldalon is.

A bináris prefixumok használata

Az eredeti közlemény az IEC 60027-2 kiadvány második módosításában (Amendment 2) jelent meg: Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics címen, az 1999-01-es dokumentumként. [3] Ez a szabvány-ajánlás is hosszú fejlesztő munka eredménye. Az első érdemleges cikket Bruce Barrow tollából olvashattuk az 1997 januárjában megjelent IEEE Standards Bearer-ben „A Lesson in Megabytes" címmel az 5. oldalon. A kétéves fejlesztői munka eredménye mégis csak egy ajánlás, amelyet a jelek szerint nem nagyon tartanak be. Egyesek viszont máris kihasználják jogtalan üzleti előnyök szerzésére. Egyes neves merevlemez-gyártók máris megtalálták a módját, hogyan értékeljék fel gyártmányukat anélkül, hogy a terméken változtatnának. Ha ugyanis pl. egy 20 gigabájtos merevlemez kapacitását decimális prefixummal adjuk meg, az adattáblára már 21,5 gigabájtot írhatunk, amely eltérés egy néhány éve még tisztes merevlemez-kapacitásként volt tisztelhető. A helyes az lenne, ha 20 GiB-ot, vagy 21,5 GB-ot írnánk a táblára, bár ez utóbbi nem szerencsés, pontatlansága miatt.

De mi a szabványszervezetek hivatalos álláspontja a témában? Ebben mértékadó az EIA (Electronic Industries Alliance) szervezetén belül működő JEDEC Solid State Technology Association állásfoglalása. A szervezet utolsó kiadványa 1999 decemberében született, a JESD100-B (a JESD100-A módosítása), amelyben a számítástechnikai mennyiségek jelölésével, definícióival és mértékegységeivel foglalkozik (Terms, Definitions, and Letter Symbols for Microcomputers, Microprocessors, and Memory Integrated Circuits). Ennek 8. oldalán a mega magyarázatánál tér ki a bináris prefixumok értelmezésére, és egyértelműen 1 048 576-os (azaz 220, vagy K2, ahol K = 1024) szorzóként tűnteti fel. Hivatkozik a már említett IEC 60027-2 szabványajánlásra, amely ugyan még nem kötelező érvényű, de elfogadott ajánlásként tűnteti fel.

Hogyan használja a külföldi szakirodalom?

Sajnos kevéssé! Jellemző az általánosan megszokott „számítástechnikai" prefixum használat, ami az SI-vel merőben ellenkezik, ütközik. De azért vannak kivételek. Egy csokorral bemutatunk ezekből, mind az elektronikus, mind a nyomtatott sajtóból.

Mi a helyzet a hazai szakirodalomban?

A hazai szakirodalomban is siralmas a helyzet. A folyóiratoktól a tankönyvekig mindenki egyenesen majmolja az amerikai „gyakorlatot”. A hazai szabványkidolgozó szervek még nem nyilatkoztak. Nem láttam eddig hivatalos állásfoglalást sem tudományos, sem gyakorlati-műszaki körökből az ellentmondás feloldására. Valószínűleg azért, mert nem tartják annak. Pedig a felhozott példák magukért beszélnek. Az ELEKTROnet-ben a tavalyi év elején ismertettem az IEC ajánlást, és szerkesztő bizottságunk bevezetésre elfogadta az abban foglaltakat. [4] Eddigi következetes használata nem hozott áttörést, sok szakmabeli véleménye szerint szélmalomharcnak tűnik kezdeményezésünk. Jellemző, hogy a legtöbben nyomdahibának vették a Mibit-et, csak az tűnt fel, hogy szűkebb szövegkörnyezetben sokszor előfordult ugyanígy, ami eredhet a korszerű nyomdatechnika szövegátemelési technológiájából is. Mások óva intenek a széles körben elterjedt gyakorlat megváltoztatására tett szándékunktól, csak megzavarná a fejeket, az eltérés gyakorlati értéke elhanyagolható, így kísérletünk eleve halálra van ítélve. Ezekben továbbra sem hiszek, remélem egyszer mértékadó körök keményen kiállnak a rendcsinálás mellett. Sajnos minél később történik ez meg, annál nehezebb lesz az átállás. A digitális technika ilyen mértékű további terjedésével ez elkerülhetetlen lesz.

Irodalom:

[1] Bánkúti László: Az SI-egységek többszöröseinek és törtrészeinek képzéséhez használt prefixumok. Műszerügyi és Méréstechnikai Közlemények 66. szám.

[2] web-lap: http://physics.nist.gov/cuu/Units/binary.html 

[3] IEC 60027-2 kiadvány (Amendment 2): Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics, 1999.

[4] Lambert Miklós: Nem állhatom meg szó nélkül… ELEKTROnet. 2000/1. 102. o.

Lambert Miklós*        

*ELEKTROnet          

A laprendszer készítője: UFE Bt.