正负数原码、反码、补码以及位运算
来源:互联网 发布:java char数组倒序输出 编辑:程序博客网 时间:2024/05/17 09:32
正数:原码、反码和补码都是其二进制数。
负数:
原码是将其相反数的原码的符号位(最高位)变为1。如5的原码为0000 0101,-5的原码为1000 0101;
反码是将其原码除了符号位外,每一位取反,-5的反码为1111 1010;
补码是将其反码加1,-5的补码为1111 1011。
位运算
1.按位与 &
双目运算,按二进制 & 运算。只有两位都为1的情况结果才为1,其它情况为0。0&0=0;
应用:
- 清零:将一个数与0(各位都为0)相与,可将这个数置零。
- 取指定位:为求X的指定位,将其与对应位为1、其余位为0的数相与,可得到X的指定位。
如设X=1010 1110,
取X的低4位,用 X & 0000 1111 = 0000 1110
即可得到; 还可用来取X的2、4、6位。
2.按位或 |
双目运算,按二进制 | 运算。只要有一位为1,结果都为1,只有两位为0的情况才为0。0|0=0;
用来对X指定位置置1:确定X要置1的位置,将X与以这些位置为1、其余为0的数相或,可使X的指定位置1。
如设将 X=10100000的低4位置1 ,用 X
双目运算,按二进制 ^ 运算。两位相异为1,相同为0。0^0=0;
应用:
- 使X的指定位翻转:确定X要翻转的位置,将X与以这些位置为1、其余为0的数异或,可使X指定位翻转。
- 与0相异或,保留原值。
4.取反 ~
单目运算,按二进制 ~ 运算。~1=0;
用来使一个数的最低位为零,可以表示为:a&~1。
~1的值为1111111111111110,再按“与”运算,最低位一定为0。
取反运算符的优先级比算术运算符、关系运算符、逻辑运算符和其他运算符的都高。5.左移 <<
单目运算。
将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
a = a << k 将a的二进制位左移k位,右补0,a
单目运算。
将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。操作数每右移一位,相当于该数除以2。
a = a >> k 将a的二进制位右移k位,正数则左补0,负数则左补1,a=a/(a的k次方)。
- 正负数原码、反码、补码以及位运算
- 原码补码反码以及位运算符
- 补码,反码和位运算
- 正负数的原码、反码以及补码
- c++位运算符 | & ^ ~ && ||,补码,反码
- 原码,补码,反码与位运算
- c++位运算符 | & ^ ~ && ||,补码,反码
- 位运算和原码,反码,补码
- 正负数二进制表示,正负数二进制移位运算、二进制源码、反码、补码
- 位运算以及原码反码补码的介绍和案例
- 原码, 反码, 补码 详解以及负数的按位与运算
- 补码,反码运算
- 位运算详解(原码<-->反码<-->补码)
- PHP中位运算及原码,反码和补码
- 二进制(原码,反码,补码),位运算原则:
- 位运算——原码反码补码
- Java二进制,原码、反码、补码、位运算
- C语言之位运算/原码/反码/补码
- 阿里云2017双十一优惠福利集锦汇总大全
- Python之端口扫描器编写
- Linux shell(三)
- WIN下“隐藏”文件夹妙招——黑科技来一波
- 创建hive表和使用Load data指令导入数据的注意事项
- 正负数原码、反码、补码以及位运算
- HDU-2004(成绩转换)
- 通过金矿模型介绍动态规划
- VMware虚拟机三种联网方法及原理
- HTML+CSS+JS实现二级菜单的效果
- [算法] 麻将序数牌组合方案
- php版本5.5中mysql函数的更改
- url增加签名验证防篡改
- JavaScript是前台语言,而不是后台语言