按位与 (&):
a = 2, b = 3
a & b = 2
解释: 2的二进制为'10',3的二进制为'11',按位与:都为1时得1,出现0时得0,因此结果是'10',即2
按位或(|):
a = 6, b = 5
a | b = 7
解释:6='110',5='101',按位或,每一位二进制上进行或操作,得到'111',即7
按位异或(^):
a = 2, b = 4
a ^ b = 6
解释:2='10', 4='100', 结果为'110',即6
异或:相同为0,不同为1
按位取反(~):
~2 = -3
~(-2) = 1
~0 = -1
按位取反:先+1再取相反数。
~1 的计算步骤:
1.将 1(这里叫: 原码)转二进制 = 00000001
2.按位取反 = 11111110
3.发现符号位(即最高位)为 1(表示负数),将除符号位之外的其他数字取反 = 1000001
4.未位加1取其补码 = 1000010
5.转换回十进制 = -2
左移(<<):
2 << 1 = 4
解释:2='10', 左移1位变为'100',即4
右移(>>):
2 >> 1 = 1
解释: 2='10', 右移一位变为'1',即1
原文链接:https://blog.youkuaiyun.com/romeo12334/article/details/81234991
本文介绍了二进制运算符的基本概念,包括按位与(&)、按位或(|)、按位异或(^)以及按位取反(~)的操作,并通过实例解析了左移(<<)和右移(>>)运算的过程。这些运算在计算机科学和编程中具有重要应用。
1054

被折叠的 条评论
为什么被折叠?



