Калкулатор за битово отместване (наляво и надясно)
Отместете цяло число наляво или надясно с избран брой битове и вижте резултата в десетична, двоична и шестнадесетична система в рамките на фиксирана битова ширина.
Посока
Right-shift type
bits
n << 2 = 10101000 (0xA8)
- 1
Mask n to 8 bits
42 & (256 − 1) = 42 - 2
n × 2^2 (mod 2^8)
(42 × 4) mod 256 = 168A left shift by k is equivalent to multiplying by 2^k within the bit width.
Как работи този калкулатор?
Отместването наляво премества битовете към високия край и запълва с нули отдясно; отместването надясно ги премества към ниския край. Логическите отмествания надясно запълват с нули отляво, докато аритметичните отмествания надясно копират знаковия бит. Резултатите се маскират до избраната битова ширина и се показват в десетична, двоична и шестнадесетична система.
Формула
How this is calculated
Предоставяте цяло число n, стойност на отместване k, посока (наляво или надясно), типа на отместването надясно (логическо или аритметично) и битова ширина w. Цялата аритметика се извършва с цели числа с произволна точност и след това се ограничава до w бита, използвайки mask = 2^w - 1. Входът първо се намалява до своя w-битов модел, така че отрицателните стойности се представят в допълнителен код.
Отместване наляво изчислява (n << k) & mask: всеки бит се премества с k позиции към най-значимия край, ниските k позиции се запълват с нули, а всички битове, които преминат отвъд върха на ширината, преливат и се отхвърлят. Логическо отместване надясно изчислява (n & mask) >> k: битовете се преместват с k позиции към най-малко значимия край, ниските k бита се отхвърлят, а горните k позиции се запълват с нули. Аритметичното отместване надясно работи по същия начин, освен че освободените горни k позиции се запълват с копия на оригиналния знаков бит (MSB), което запазва знака на числата в допълнителен код.
Резултатите се показват като беззнаково десетично число, двоичен низ от w бита с водещи нули и шестнадесетично число, плюс знаковата интерпретация в допълнителен код. Отместване с k, по-голямо или равно на w, дава 0 за отмествания наляво и логически надясно, или модел от само единици / само нули за аритметични отмествания надясно в зависимост от знаковия бит. Отрицателно k се отхвърля.
Често задавани въпроси
Логическото отместване надясно винаги запълва освободените високи битове с нули, третирайки стойността като беззнакова. Аритметичното отместване надясно копира знаковия бит (най-значимия бит) в тези позиции, запазвайки знака, така че отрицателните числа в допълнителен код остават отрицателни.
Резултатът се маскира до избраната битова ширина. Битовете, отместени отвъд най-значимата позиция, преливат и се отхвърлят, така че в рамките на фиксирана ширина отместването наляво може да се пренесе до по-малка стойност.
Отрицателно n се преобразува в своя w-битов модел в допълнителен код преди отместването. Изходът показва както беззнаковото десетично число, така и знаковата десетична интерпретация на този модел.
Известен също като
TG we-Calculate Editorial Team. (2026). Калкулатор за битово отместване (наляво и надясно) [Online calculator]. TG we-Calculate. https://we-calculate.com/bg/calculator/bit-shift-calculator
TG we-Calculate Editorial Team. "Калкулатор за битово отместване (наляво и надясно)." TG we-Calculate. 2026. https://we-calculate.com/bg/calculator/bit-shift-calculator.
TG we-Calculate Editorial Team, "Калкулатор за битово отместване (наляво и надясно)," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/bg/calculator/bit-shift-calculator
@misc{wecalculate_bit_shift_calculator, title = {Калкулатор за битово отместване (наляво и надясно)}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/bg/calculator/bit-shift-calculator}}, year = {2026}, note = {TG we-Calculate} }
Помогна ли ви този калкулатор?
