1. 位取反运算符( ~
)
位取反运算符(
~
)是对所有位的数字进行取反操作
2. 位与运算符( &
)
位与运算符(&
)可以对两个数的比特位进行合并。它会返回一个新的数,只有当这两个数都是 1 的时候才能返回 1
3. 位或运算符(|
)
位或运算符(|
)可以对两个比特位进行比较,然后返回一个新的数,只要两个操作位任意一个为 1 时,那么对应的位数就为 1 。
4. 位异或运算符( ^
)
位异或运算符,或者说“互斥或
”( ^
)可以对两个数的比特位进行比较。它返回一个新的数,当两个操作数的对应位不相同时,该数的对应位就为1。
5. 位左移和右移运算符
-
位左移运算符(
<<
)和位右移运算符(>>
)可以把所有位数的数字向左或向右移动一个确定的位数。 -
位左移和右移具有给
整数乘以或除以二
的效果。将一个数左移
一位相当于把这个数翻倍
,将一个数右移
一位相当于把这个数减半
。
6. 无符号整数的移位操作
-
已经存在的
比特位
按指定的位数进行左移
和右移
-
任何移动超出整型存储边界的位都会被
丢弃
-
用
0
来填充向左或向右移动后产生的空白位
7. 有符号整数的移位操作
-
有符号整数使用它的第一位(所谓的
符号位
)来表示这个整数是正数还是负数。符号位为0
表示为正数
,1
表示为负数
。 -
其余的位数(所谓的数值位)存储了
实际的值
。有符号正整数
和无符号数的存储方式是一样的,都是从0
开始算
起。 -
但是
负数
的存储方式略有不同。它存储的是 2的n
次方减去它的绝对值
,这里的n
为数值位
的位数
。
网友评论