Číslování bitů - Bit numbering
![]() | Tento článek může vyžadovat vyčištění setkat se s Wikipedií standardy kvality. Specifický problém je: Článek je plný nepřesností a kombinuje endiannost s číslováním bitů. Článek také naznačuje, že číslování bitů je vlastnost CPU; Není. Mixuje nejméně významný bajt s nejméně významným bitem, které mají stejnou TLA.Květen 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v výpočetní, číslování bitů je konvence použitá k identifikaci bit pozice v a binární číslo nebo kontejner takové hodnoty. Počet bitů začíná nulou a je zvyšován o jednu pro každou následující bitovou pozici.
Nejméně významný bit

v výpočetní, nejméně významný bit (LSB) je bit pozice v a binární celé číslo dávat jednotkám hodnotu, to znamená určovat, zda je číslo sudé nebo liché. LSB se někdy označuje jako bit nízkého řádu nebo nejvíce vpravo, vzhledem k úmluvě v poziční notace psaní méně významných číslic dále doprava. Je to obdoba nejméně významného číslice a desetinný integer, což je číslice v ty (zcela vpravo).[1]
Je běžné přiřadit každému bitu číslo pozice v rozmezí od nuly do N-1, kde N je počet bitů v použité binární reprezentaci. Normálně je číslo bitu jednoduše exponentem pro odpovídající bitovou váhu v base-2 (například v 231..20). Několik výrobců CPU přiřadilo čísla bitů opačně (což není stejné jako u různých) endianismus ). V každém případě samotný nejméně významný bit zůstává jednoznačný jako jednotkový bit.
Nejméně významné bity (množné číslo) jsou bity čísla nejblíže LSB včetně. Nejméně významné bity mají užitečnou vlastnost rychle se měnit, pokud se počet mění i mírně. Například pokud je 1 (binární 00000001) přidán k 3 (binární 00000011), bude výsledek 4 (binární 00000100) a tři z nejméně významných bitů se změní (011 až 100). Naproti tomu tři nejvýznamnější bity (MSB) zůstávají nezměněny (000 až 000). Kvůli této volatilitě se často používají nejméně významné bity generátory pseudonáhodných čísel, steganografický nástroje, hashovací funkce a kontrolní součty.
Nejméně významný kousek v digitální steganografii

V digitální podobě steganografie, citlivé zprávy mohou být skryty manipulací a ukládáním informací do nejméně významných bitů obrazu nebo zvukového souboru. Pokud by v kontextu obrázku uživatel manipuloval s posledními dvěma bity barvy v pixelu, hodnota barvy by se změnila na maximálně ± 3 hodnotových místech, což je lidské oko pravděpodobně nerozeznatelné. Uživatel může tyto informace později obnovit extrahováním nejméně významných bitů manipulovaných pixelů k obnovení původní zprávy.
To umožňuje ukládání nebo přenos digitálních informací zůstat skryté.
Nejméně významný bajt
LSB může také stát za nejméně významné byte.[2] Význam je paralelní s výše uvedeným: je to byte (nebo oktet ) v pozici vícebajtového čísla, které má nejmenší potenciální hodnotu. Pokud má zkratka význam nejméně významný bajt není zřejmé z kontextu, je třeba výslovně uvést, aby nedošlo k záměně s nejméně významný bit.
Aby se předešlo této nejednoznačnosti, lze použít méně zkrácené výrazy „lsbit“ nebo „lsbyte“.
Nejvýznamnější bit
v výpočetní, nejvýznamnější bit (MSB, také nazývaný bit vyššího řádu) je bit pozice v a binární číslo mít největší hodnotu. MSB se někdy označuje jako bit vyššího řádu nebo nejvíce vlevo kvůli konvenci v poziční notace psaní důležitějších číslic dále vlevo.
MSB může také odpovídat znamení bit a podepsané binární číslo. v něčí a doplněk dvou notace, „1“ znamená záporné číslo a „0“ znamená kladné číslo.
Je běžné přiřadit každému bitu číslo pozice v rozsahu od nuly do N − 1, kde N je počet bitů v použité binární reprezentaci. Normálně je to jednoduše exponent pro odpovídající bitovou váhu v base-2 (například v 231..20
). Ačkoli několik výrobců procesorů přiřazuje čísla bitů opačně (což není stejné jako odlišné) endianismus ), MSB jednoznačně zůstává většina významný bit. To může být jeden z důvodů, proč tento termín MSB místo bitového čísla se často používá, i když hlavním důvodem je pravděpodobně to, že různé číselné reprezentace používají různé počty bitů.
Rozšířením, nejvýznamnější bity (množné číslo) jsou bity nejblíže k MSB včetně.

Nejvýznamnější bajt
MSB může také stát „nejvýznamnější byte".[3] Význam je paralelní s výše uvedeným: je to bajt (nebo oktet ) v pozici vícebajtového čísla, které má největší potenciální hodnotu.
Aby se předešlo této nejednoznačnosti, používají se méně zkrácené výrazy „MSbit„nebo“MSbyte„jsou často používány.[4][5][6]
Příklad celého čísla bez znaménka
Tato tabulka ukazuje příklad desítkové hodnoty 149 a umístění LSB. V tomto konkrétním příkladu je pozice jednotkové hodnoty (desítkově 1 nebo 0) umístěna v bitové pozici 0 (n = 0). MSB znamená Nejvýznamnější bit, zatímco LSB znamená Nejméně významný bit.
Binární (desítkově: 149) | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
---|---|---|---|---|---|---|---|---|
Hmotnost bitu pro danou pozici bitu n (2n ) | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
Štítek pozice bitu | MSB | LSB |
Poloha LSB je nezávislá na tom, jak se přenáší bitová poloha (Některý systém vysílá jako první MSB, jiný jako první LSB), což je otázka spíše Endianness.
Nejprve vs nejméně významný bit
Výrazy nejdříve nejvýznamnější bit a nejméně významný bit jako první jsou indikace k pořadí sekvence bitů v bajtech odeslaných po drátu v přenosovém protokolu nebo v toku (např. audio stream).
Nejvýznamnější bit jako první znamená, že nejvýznamnější bit dorazí jako první: tedy např. hexadecimální číslo 0x12
, 00010010
v binární reprezentaci, dorazí jako sekvence 0 0 0 1 0 0 1 0
.
Nejméně významný bit jako první znamená, že nejméně významný bit dorazí první: tedy např. stejné šestnáctkové číslo 0x12
, znovu 00010010
v binární reprezentaci přijde jako (obrácená) sekvence 0 1 0 0 1 0 0 0
.
LSB 0 bitové číslování

Když číslování bitů začíná na nule nejméně významný bit (LSB) se schéma číslování nazývá „LSB 0“.[7] Tato metoda číslování bitů má tu výhodu, že pro všechny nepodepsané číslo hodnotu čísla lze vypočítat pomocí umocňování s číslem bitu a základna of 2. Hodnota nepodepsaného binárního souboru celé číslo je tedy
kde bi označuje hodnotu bitu číslem i, a N označuje celkový počet bitů.
MSB 0 bitové číslování

Podobně, když číslování bitů začíná na nule nejvýznamnější bit (MSB) se schéma číslování nazývá „MSB 0“.
Hodnota binárního čísla bez znaménka je proto
jiný
ALGOL 68 je elem operátor je efektivně „číslování bitů 1 MSB“, protože bity jsou číslovány zleva doprava, přičemž první bit (bity elem 1) je „nejvýznamnější bit“ a výraz (bity elem šířka bitů), což dává "nejméně významný bit". Podobně, když bity jsou vynuceny (typecast) na pole Booleovský ([ ]bool bitů), první prvek tohoto pole (bity [lwb bitů]) je opět „nejvýznamnějším bitem“.
Pro číslování MSB 1 je hodnota binárního čísla bez znaménka
PL / I. čísla BIT řetězce začínající 1 pro bit úplně vlevo.
The Fortran BTEST funkce používá číslování LSB 0.
Používání
Malý Endian CPU obvykle používají číslování bitů „LSB 0“, ale obě konvence číslování bitů lze vidět v big-endian stroje. Některé architektury mají rádi SPARC a Motorola 68000 použijte číslování bitů "LSB 0", zatímco S / 390, PowerPC a PA-RISC použijte "MSB 0".[8]
Doporučený styl pro Žádost o připomínky (RfC) dokumenty mají číslování bitů „MSB 0“.[9][10]
Číslování bitů je obvykle transparentní software, ale některé programovací jazyky jako Ada a jazyky popisu hardwaru jako VHDL a verilog povolit určení příslušného pořadí bitů pro reprezentaci datového typu.[11]
Viz také
- ARINC 429
- Binární číselná soustava
- Podepsané číselné reprezentace
- Doplněk dvou
- Endianness
- Binární logaritmus
- Jednotka na posledním místě (ULP)
- Najít první sadu
- MAC adresa: bitově obrácená notace
Reference
- ^ „IBM SNA formáty bitového objednávání je protikladem Intel Convention“. Microsoft. 2014-02-23.
- ^ Buczynski, Don (05.09.2002). "Výukový program MSB / LSB".
- ^ Rouse, Margaret (září 2005). "nejvýznamnější bit nebo bajt". TechTarget.
- ^ II, Patrick J. Sweeney (11.03.2010). RFID pro figuríny. John Wiley & Sons. ISBN 9781118054475.
- ^ „Bitmapový formát amuletu“. web.mit.edu. Citováno 2018-02-25.
- ^ "Paměť MAYHEM! Paměť, objednávání a zarovnávání bajtů". www.cs.umd.edu. Citováno 2018-02-25.
- ^ Langdon, Glen G. (1982). Počítačový design. Computeach Press Inc. str.52. ISBN 0-9607864-0-6.
- ^ David V. James (červen 1990). "Multiplexované autobusy: endianské války pokračují". IEEE Micro. 10 (3): 9–21. doi:10.1109/40.56322. ISSN 0272-1732. S2CID 24291134.
jejich první kousky a křupky přišel z ALU čipy, které mapují nulu (0) na nejméně významný bit. (...) někteří (jinak) návrháři big-endianu trvají na použití notace small-endian k popisu bitů a notace big-endian k popisu bytů. (...) Všimněte si, že IBM (na S / 360 a 370 ) a Hewlett-Packard (na PA-RISC procesor) trvale mapují nulu na MSB
- ^ Scott, Gregor (červen 1998). „RFC 2360 - Guide for Internet Standards Writers“. Pracovní skupina pro internetové inženýrství (IETF). p. 11. Citováno 2010-02-14.
Upřednostňovanou formou pro paketové diagramy je posloupnost dlouhých slov v pořadí bajtů sítě, přičemž každé slovo je na stránce vodorovné a číslování bitů nahoře
- ^ „RFC 1166 - ČÍSLA INTERNETU“. Pracovní skupina pro internetové inženýrství (IETF). Července 1990. str. 1. Citováno 2014-06-11.
Kdykoli oktet představuje číselnou veličinu, nejvíce vlevo v diagramu je nejvyšší řád nebo nejvýznamnější bit
- ^ Norman H. Cohen (leden 1994). „Klauzule o nezávislosti záznamu nezávislé na endianu“ (PDF). Ada dopisy. ACM SIGAda. XIV (1): 27–29. doi:10.1145/181492.181493. ISSN 1094-3641. S2CID 31612852. Citováno 2008-12-20.
externí odkazy
- Čísla bitů
- Číslování bitů pro různé CPU:
- Motorola 68000 (Sekce „Manipulace s bity“ a „Obrácené číslování bitů“)
- Celulární širokopásmové procesory IBM ("Řazení bajtů a číslování bitů")