码迷,mamicode.com
首页 > 其他好文 > 详细

位运算符

时间:2016-09-03 23:54:48      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

运算符 操作类型 结果类型 说明 举例
NOT Integer Integer 即按二进制形式将每位求反,即1 变为0、0变为1 NOT x
AND Integer Integer 将两者相对应的位进行AND运算,同为1时结果为1,其他为0 a AND b
OR Integer Integer 将两者相对应的位进行OR运算,同为0时结果为0 a OR b
XOR Integer Integer 将两者相对应的位取XOR运算,两者不同时结果为1 a XOR b
SHL Integer Integer 将a的二进制向左移动b位,左移一位相当于乘2 a SHL b
SHR Integer Integer 将a的二进制向右移动b位,右移一位相当于除2 a SHR b

 

若有操作数x,其值的二进制数形式为01110011,执行语句:y:= NOT X,结果y值得二进制形式为:10001100。

若操作数x和y的二进制数形式分别为00110010和01101100,执行语句:  z:= x AND y ,结果y值的二进制形式为:00100000。

若执行124 SHR 2,由于常量124的二进制形式为01111100,则运算的结果为00011111。

值得注意的是,右移操作时原值的低位丢失,高位补零。向左移操作时,原值的高位丢失,低位补0。

执行运算(35 SHR 2),即先把数35右移两位,再把其结果再左移2位,但结果却是32,而不是回到35。

执行运算(-35 SHR 2),结果将是1073741815。这是由于在计算机内部,负数是以补码形式存放的缘故

 

位运算符

标签:

原文地址:http://www.cnblogs.com/JasonBloge/p/5838286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!