Delphi函数Shl与Shr介绍说明

格式:操作数 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。 得到如下:结果只是操作数与进制数之间的操作了。

格式:操作数 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。 得到如下:结果只是操作数与进制数之间的操作了。
经验分享 程序员 微信小程序 职场和发展