Delphi Shl与Shr 移位操作介绍

来源:互联网 发布:中华骨髓库 知乎 编辑:程序博客网 时间:2024/04/24 23:20

 格式:操作数 Shl/Shr 移动位数
说明:操作数与返回值都是整数
例子:16(10) = 10000(2)
     16(10) Shr 1 = 10000(2) Shr 1 = 1000(2) = 8(10)
     16(10) Shr 2 = 10000(2) Shr 2 = 100(2) = 4(10)
说明:一个整数(I)按位左移一位,相当于把它乘以2,即 I * 2
     一个整数(I)按位右移一位,相当于把它除以2,即 I Div 2
     一个整数(I)按位左移2 位,相当于把它乘以2再乘2,即 (I * 2) * 2
     一个整数(I)按位右移2 位,相当于把它除以2再除2,即 (I Div 2) Div 2
分析:引用我们最常用的十进制来说明,假如有一个数16,在十进制中住右移一位,结果剩1,左移一位即是160,相当于16 Div 10 和 16 * 10;
     同理,在二进制中整除和乘的是2。
     得到如下:结果只是操作数与进制数之间的操作了。