
Сообщение от
programina
запись 1-8 в 10-тичной системе и в двоичной системе.
Код
1 00000001
2 00000010
3 00000011
4 00000100
5 00000101
6 00000110
7 00000111
8 00001000
Например если взять сейчас 8-ку и применить к ней сдвиг, то он вернет другое число:
00001000 сдвинется вправо на две позиции (
00001000 ) и станет
00000010
C++
int b = 8 >> 2; // 00000010 то есть 2
Обрати внимание, что сдвиг на одну позицию вправо делит число на 2, а влево умножает на 2
Это я понимаю. Но когда я приближаюсь к границе типа int, 32 бита, у меня возникает переполнение, которое портит мне все значение.