Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Для чего нужен нужен битовый сдвиг?

Программирование+1
Валентин Максимов
  ·   · 395
Инженер путей сообщения – строитель  · 11 дек 2020

В стародавние времена, когда процессоры были ещё слабыми они относительно медленно выполняли операции умножения и деления. Даже относительно часто используемые операции со степенями двойки. Так вот сдвиг на один бит влево есть умножение на два, на два бита — на четыре, на три бита — на восемь. Т.е. X shl N = x · 2 ᴺ, соответственно сдвиг вправо X shr N = x ÷ 2 ᴺ. Соответственно, для умножения и деления на степени двойки эффективнее было использовать сдвиг.

А для получения конкретного бита данных всегда использовалась конъюнкция (логическое И). Если нам надо было получить значение пятого бита мы просто применяли ассемблерную команду and ax, 32, за которой сразу шла инструкция условного перехода с проверкой нулевого значения jz или jnz. А вот как только все стали делать это ещё и со сдвигом, так компьютеры и тормозить стали.

Инженер, лингвист и путешественник  · 11 дек 2020
Например, для того, чтобы получить значение конкретного бита данных. Допустим, у вас есть число, записанное в двоичной системе как 10010000. И вам надо получить значение пятого бита. Одним из способов сделать это будет... Читать далее