Bitu nobīde

Aritmētiskās nobīdes

Aritmētiskajās nobīdēs biti, kuri tiek pārbīdīti ārā katra beigās, tiek izbrāķēti. Aritmētiskajā nobīdē pa kreisi, nulles tiek iebīdītas no labās puses; aritmētiskajā nobīdē pa labi, zīmes bits tiek iebīdīts no kreisās puses, tādējādi saglabājot operanda zīmi. Šim piemēram ir nepieciešams 8 bitu reģistrs:
Pirmajā gadījumā, kreisajā pusē esošais pirmais cipars tika nobīdīts reģistra beigās un tā vietā tika iebīdīta 0 pēdējā pozīcijā no labās puses. Otrajā gadījumā, labajā pusē esošais pirmais cipars 1 tika pārbīdīts ārā (iespējams, ka pārbīdīts uz pārneses karodziņu) un jauna 0 tika ierakstīta kreisajā pusē esošajā pirmajā pozīcijā, saglabājot cipara zīmi. Saliktas nobīdes dažreiz tiek samazinātas uz vienu nobīdi, izmantojot dažus ciparus. 
Aritmētiskā nobīde pa kreisi, izmantojot n ir ekvivalents reizinājumam ar 2ⁿ (paredzot, ka tā vērtība neizraisīs pārpildi), turpretim aritmētiskā nobīde pa labi, izmantojot n no otrā papildinājuma vērtības ir ekvivalents dalījumam ar 2ⁿ un noapaļošanu uz negatīvu bezgalību. Ja binārais skaitlis ir apstrādāts kā pirmā papildinājums, tad tā pati labās — nobīdes operācija izpildās, dalot ar 2ⁿ un noapaļojot aptuveni uz nulli.

Loģiskās nobīdes

Loģiskajās nobīdēs biti, kuri tiek pārbīdīti ārā, tiek izbrāķēti un to vietā tiek iebīdītas nulles (katras rindas beigās). Tādēļ loģiskās un aritmētiskās kreisās — nobīdes operācijas ir vienādas. Tomēr loģiskā labā — nobīde ievieto bitu ar vērtību 0, tā vietā, lai kopētu zīmju bitu. Tādēļ loģiskās nobīdes ir piemērotas bez zīmju binārajiem skaitļiem, kamēr aritmētiskās nobīdes ir piemērotas otrā papildinājuma binārajam skaitlim ar zīmi.

Rotēšana bez pārneses

Cita nobīdes forma ir cirkulējošās nobīdes jeb bitu rotācija. Šajā operācijā biti „rotē” it kā reģistra kreisais un labais gals būtu savienoti. Vērtība, kura tiek iebīdīta no labās puses ir tā pati vērtība, kuru pieņēma kreisā — nobīde, kas tika pārbīdīta ārā pa kreisi un tādējādi defekts tika apiets. Šāda veida operācija ir noderīga, ja ir nepieciešams saglabāt visus esošos bitus, un tā tiek bieži lietota digitālajā kriptogrāfijā.

Rotēšana ar pārnesi

Rotēšana ar pārnesi ir līdzīga rotēšanai bez pārneses, atšķirība ir tā, ka reģistra divi gali tiek uzskatīti par atdalītiem ar pārneses karodziņiem. Iebīdītais bits (katrā galā) ir pārneses karodziņa iepriekšējā vērtība un bits, kurš tiek pārbīdīts ārā (otrā galā), kļūst par pārneses karodziņa jauno vērtību. 
Vienu rotēšanu ar pārnesi var simulēt vienas pozīcijas loģisko vai aritmētisko nobīdi, iepriekš uzstādot pārneses karodziņu. Piemēram, ja pārneses karodziņš satur 0, tad x Labā — Rotēšana — Ar — Pārnesi — Pa — Vienam ir loģiskā labā — nobīde, bet ja pārneses karodziņš satur zīmes bita kopiju, tad x Labā — Rotēšana — Ar — Pārnesi — Pa — Vienam ir aritmētiskā labā — nobīde. Šī iemesla dēļ daži mikrokontrolieri veic rotēšanu un rotēšanu ar pārnesi un tiem nav nepieciešamas aritmētiskās vai loģiskās nobīdes instrukcijas. 
Rotēšana ar pārnesi ir sevišķi noderīga, kad tiek veiktas nobīdes ar skaitļiem, kuri ir lielāki nekā procesora standarta vārdu izmērs, jo, ja liels skaitlis tiks saglabāts divos reģistros, bits, kurš tiek pārbīdīts ārā no pirmā reģistra, iebīdīsies otrā reģistra beigās. Izmantojot rotēšanu ar pārnesi, bits tiek „saglabāts” pārneses karodziņā, veicot pirmo nobīdi, ir iespējams veikt nobīdi otrās nobīdes laikā bez jebkādas papildus sagatavošanas.