shl and 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

     得到如下:结果只是操作数与进制数之间的操作了。

本文来自Delphi之窗,原文地址:http://www.52delphi.com

posted @ 2009-09-09 15:13  delphi中间件  阅读(270)  评论(0编辑  收藏  举报