几何尺寸与公差论坛

 找回密码
 注册
查看: 2214|回复: 0

位运算符和位运算(uncompleted)

[复制链接]
发表于 2007-1-27 23:16:40 | 显示全部楼层 |阅读模式
位运算符和位运算


1. 位(逻辑)运算符

11“与AND运算符&

111 运算规则

参加运算的两个数据,按二进制位进行运算,如果两个相应的位都为1,则该位的结果值为1,否则为0,即:


0 & 0 = 0

0 & 1 = 0

1 & 0 = 0

1 & 1 = 1.

112 用途

(1) 清零


(2) 取特定位


(3) 保留特定位



12“或OR”运算符 |

121 运算规则

参加运算的两个数据,按二进制位进行运算,如果两个相应的位都为0,则该位的结果值为0,否则为1,即:
0 | 0 = 0


0 | 1 = 1

1 | 0 = 1

1 | 1 = 1

122 用途

13“取反NOT”运算符 ()

131 运算规则

是一个单目运算符,用来对一个二进制数按位取反,即将0110


132 用途

14异或XOR运算^

141 运算规则

两者相等为0,不等为1.

1 ^ 1 = 0

0 ^ 0 = 0

1 ^ 0 = 1

0 ^ 1 = 1

142 用途

1421 交换两个整数,可以不用第三个参数

a =11, b = 9.以下是二进制运算过程:

a = a ^ b = 1011 ^ 1001 = 0010;

b = b ^ a = 1001 ^ 0010 = 1011;

a = a ^ b = 0010 ^ 1011 = 1001;

交换:a = 9, b = 13 (注:仅限于整数)

1422 翻转特定位

如:将数100001的第2位和第3位翻转,可以与100110进行异或运算。

100001 ^ 000110 = 100111

1423 0(汇编语言)

XOR a, a




2. 位移运算符

用于移位运算

21 左移运算符 <<

211 运算规则

左移若干位,右补0,高位左移后溢出且舍弃。

注:对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1

212 用途

左移一位相当于乘以2

22 右移运算符 >>

221 运算规则

右移若干位,移到右端的低位被舍弃。

对无符号数,高位补0

对有符号数,左边移入0逻辑右移)或1算术右移

222 用途

右移一位相当于除以2
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-5-14 08:35 , Processed in 0.074895 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表