Čí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

Binární reprezentace desetinných 149, s LSB zvýrazněny. MSB v 8bitovém binárním čísle představuje hodnotu 128 desetinných míst. LSB představuje hodnotu 1.

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

Diagram ukazující, jak manipulace s nejméně významnými bity barvy může mít velmi jemný a obecně nepostřehnutelný vliv na barvu.  V tomto diagramu je zelená reprezentována hodnotou RGB, a to jak v desítkové, tak v binární.  Červené pole obklopující poslední dva bity ukazuje nejméně významné bity změněné v binární reprezentaci.

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

Binární reprezentace bez znaménka v desítkové soustavě 149 se zvýrazněným MSB. MSB v 8bitovém binárním čísle bez znaménka představuje hodnotu 128 desetinných míst. LSB představuje hodnotu 1.

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, 00010010v 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 00010010v binární reprezentaci, dorazí jako (obrácená) posloupnost 0 1 0 0 1 0 0 0.

LSB 0 bitové číslování

LSB 0: Kontejner pro 8bitové binární číslo se zvýrazněným nejméně významným bitem přiřazeným bitovým číslem 0

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í

MSB 0: Kontejner pro 8bitové binární číslo se zvýrazněným nejvýznamnějším bitem přiřazeným bitovým číslem 0

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é

Reference

externí odkazy