左移:
【Delphi 对应符号 shl
】【C++ 对应符号 <<
】
举个栗子:
i = 100;
将 i 左移 4位【Delphi 对应 i shl 4】【C++ 对应 (i << 4)】
-
方法一:
100 转换2进制为 1100100
将 i 左移4位就是需要将转换为二进制后的数后面增加 4 个0
即 11001000000
在将这个二进制数转换为十进制
结果 = 1600 -
方法二:
将 i 乘以 2 的需要位移数的次方
结果 = i * 2^4 = 100 * 2 * 2 * 2 * 2 = 1600
右移:
【Delphi 对应符号 shr
】【C++ 对应符号 >>
】
举个栗子:
i = 100;
将 i 右移 4位【Delphi 对应 i shr 4】【C++ 对应 (i >> 4)】
-
方法一:
100 转换2进制为 1100100
将 i 右移4位就是需要将转换为二进制后的数后面去掉4位
即 110
在将这个二进制数转换为十进制
结果 = 6 -
方法二:
将 i 除以 2 的需要位移数的次方【取其整数】
结果 = i ÷ 2^4 = 100 ÷ (2 * 2 * 2 * 2) = 6.25 = 6
一点点笔记,以便以后翻阅。