Číslování bitů - Bit numbering
Ve výpočetní technice je bitové číslování konvencí používanou k identifikaci bitových pozic v binárním čísle nebo kontejneru takové hodnoty. Bitové číslo začíná nulou a je zvýšeno o jednu pro každou následující bitovou pozici.
Nejméně významný bit
Ve výpočtu je nejméně významný bit ( LSB ) je bitová poloha v binární celé číslo , které udává hodnotu jednotky, která je, určení, zda je počet je sudé nebo liché. LSB je někdy označován jako bit nižšího řádu nebo pravý bit , kvůli konvenci v pozičním zápisu zápisu méně významných číslic dále vpravo. To je analogické s nejméně významné číslice části desítkové celé číslo, které je číslice v ty (nejvíce vpravo) poloze.
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 hmotnost v základně-2 (například v 2 31 ..2 0 ). Několik výrobců CPU přiřadilo bitová čísla opačným způsobem (což není totéž jako různá endianness ). Každopádně 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 rychlé změny, pokud se číslo změní i nepatrně. Například pokud je 1 (binární 00000001) přidán k 3 (binární 00000011), výsledek bude 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í beze změny (000 až 000). Kvůli této volatilitě se nejméně významné bity často používají v generátorech pseudonáhodných čísel , steganografických nástrojích, hashovacích funkcích a kontrolních součtech .
Nejméně významný kousek v digitální steganografii
V digitální steganografii lze citlivé zprávy skrývat manipulací a ukládáním informací do nejméně významných bitů obrazu nebo zvukového souboru. Uživatel může později obnovit tyto informace extrahováním nejméně významných bitů manipulovaných pixelů za účelem obnovení původní zprávy. To umožňuje utajení ukládání nebo přenosu digitálních informací.
Nejméně významný bajt
LSB může také znamenat nejméně významný bajt . Význam je u bitů paralelní: bajt ve vícebajtovém čísle má nejmenší potenciální hodnotu.
Nejdůležitější bit
Ve výpočetní technice je nejvýznamnějším bitem ( MSB ) bitová pozice v binárním čísle s největší hodnotou. MSB je někdy označován jako bit vyššího řádu nebo bit úplně vlevo kvůli konvenci v pozičním zápisu zápisu důležitějších číslic dále doleva.
Znamení bit je MSB v binárním číslem . V zápisu komplementu jednoho a dvou znamená „1“ záporné číslo a „0“ znamená kladné číslo.
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. Za normálních okolností je přiřazené číslo bitu jednoduše exponentem pro odpovídající bitovou hmotnost v základně-2 (jako například v ). Několik výrobců CPU přiřazuje bitová čísla odlišně. Bez ohledu na číslování zůstává MSB nejvýznamnějším bitem.
231..20
Nejvýznamnější bajt
MSB může také znamenat nejvýznamnější bajt . Význam pro bajty je paralelní s významem pro bity: největší potenciální hodnotu má bajt vícebajtového čísla.
Aby se zabránilo nejednoznačnosti mezi bitem a bajtem, často se používají méně zkrácené výrazy MSbit nebo MSbyte .
Příklad celého čísla bez znaménka
Tato tabulka ilustruje příklad desítkové hodnoty 149 a umístění LSB. V tomto konkrétním případě je poloha jednotkové hodnoty (desetinná 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í (desetinné číslo: 149) | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
---|---|---|---|---|---|---|---|---|
Bitová hmotnost pro danou bitovou pozici n (2 n ) | 2 7 | 2 6 | 2 5 | 2 4 | 2 3 | 2 2 | 2 1 | 2 0 |
Štítek pozice bitů | MSB | LSB |
Poloha LSB je nezávislá na pořadí bitů, které jsou vysílány nebo ukládány, což je téma endianness .
Nejdříve vs nejméně významný bit
Výrazy nejvýznamnější bit první a nejméně významný bit nakonec jsou indikace o uspořádání posloupnosti bitů v bajtech posílaných po drátu v protokolu sériového přenosu nebo v proudu (např. Audio stream).
Nejvýznamnější bit První znamená, že nejvýznamnější bit přijedou poprvé: tedy např šestnáctkové číslo 0x12
, 00010010
v binární reprezentaci, dorazí jako sekvence 0 0 0 1 0 0 1 0
.
Nejméně významný bit nejprve znamená, že nejméně významný bit dorazí jako první: tedy např. Stejné hexadecimální číslo 0x12
, opět 00010010
v binární reprezentaci, dorazí jako (obrácená) posloupnost 0 1 0 0 1 0 0 0
.
LSB 0 bitové číslování
Když číslování bitů začíná na nule pro nejméně významný bit (LSB), schéma číslování se nazývá "LSB 0". Tato metoda číslování bitů má tu výhodu, že pro jakékoli číslo bez znaménka lze hodnotu čísla vypočítat pomocí umocnění s číslem bitu a základnou 2. Hodnota binárního čísla bez znaménka je tedy
kde b i označuje hodnotu bitu s číslem i a N označuje celkový počet bitů.
MSB 0 bitové číslování
Podobně, když číslování bitů začíná na nule pro nejvýznamnější bit (MSB), schéma číslování se nazývá "MSB 0".
Hodnota binárního čísla bez znaménka je tedy
jiný
ALGOL 68 ‚s elem operátor je účinně‚MSB 1 bit číslování‘, jak jsou bity číslovány zleva doprava, přičemž první bit (bit Elem 1) je na‚nejvýznamnější bit‘, a výraz (bity elem bity šířka) dávat „nejméně významný kousek“. Podobně, když jsou bity nuceny (typcast) do pole boolean ([] bool bits), první prvek tohoto pole (bity [ lwb bits]) je opět "nejvýznamnějším bitem".
Pro číslování MSB 1 je hodnota binárního celého čísla bez znaménka
PL/I čísluje BIT řetězce začínající 1 pro bit úplně vlevo.
Funkce Fortran BTEST používá číslování LSB 0.
Používání
Little-endian CPU obvykle používají bitové číslování „LSB 0“, nicméně u počítačů big-endian lze vidět obě konvence číslování bitů . Některé architektury jako SPARC a Motorola 68000 používají bitové číslování „LSB 0“, zatímco S/390 , PowerPC a PA-RISC používají „MSB 0“.
Doporučený styl pro dokumenty Request for Comments (RfC) je číslování bitů "MSB 0".
Číslování bitů je pro software obvykle transparentní , ale některé programovací jazyky jako Ada a jazyky popisu hardwaru, jako je VHDL a verilog, umožňují určit odpovídající pořadí bitů pro reprezentaci datového typu.
Viz také
- ARINC 429
- Systém binárních čísel
- Reprezentace podepsaných čísel
- Doplněk dvou
- Endianness
- Binární logaritmus
- Jednotka na posledním místě (ULP)
- Najděte první sadu
- Adresa MAC: Záznam obrácený bitem
Reference
externí odkazy
- Bitové číslování pro různé CPU:
- Motorola 68000 (sekce „Manipulace s bity“ a „Obrácené číslování bitů“)
- Mobilní širokopásmové procesory IBM („Byte objednání a číslování bitů“)