02.二进制运算
来源:互联网 发布:mysql查询子语句 编辑:程序博客网 时间:2024/05/15 07:52
二进制加法:
二进制加法从低位开始逢二进1,比如29+5=34换成2进制就是11101+00101=100010;
二进制减法:
对于计算机来说它是只能进行加法运算不能做减法运算的,所以减去一个二进制数就等于加上这个数的负数。
原码:通过最高位作为符号位的方法来表示一个二进制数的正负,0表示正1表示负;比如
10001和-10001的八位二进制原码分别为00010001和10010001
反码:正数的反码和原码相同,负数的反码保持符号位不变,其余各位取反即0变1,1变0;比如原码00010001和10010001的反码分别为00010001和11101110
补码:正数的补码和源码相同,负数的补码为先取其反码再在最低位加1;比如原码00010001和10010001的补码为00010001和11101111
ps:正数的原码,反码,补码都一样,计算机中都是用补码进行计算
则计算10101-00101(换成十进制是21-5)的步骤就为:先将两个二进制数转换为8位二进制补码的形式
00010101和11111011,然后再将两数相加,如图一:
因为符号位进位了所以要舍去进位,最终结果为00010000,注意这个结果是补码,还要转换回去,因为这个补码是正数所以原码还是他自己即00010000换成十进制为16
为什么补码的最高位进位可以舍去?
这个和补码的作用有关,他就是为了解决二进制减法符号位进位的问题而出现的。不需要过于纠结其中原理
0 0
- 02.二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算 移位运算
- 二进制,位运算,移位运算
- 二进制,十六进制运算
- 二进制的运算方法
- 二进制补码运算公式
- 二进制补码运算(转)
- 二进制 补码 运算
- 二进制移位运算符
- 二进制补码运算(转)
- 遥远的救世主:电视剧《天道》
- mjpg-streamer工作流程
- Android学习之保持屏幕常亮的几种方法
- 【PAT甲级】1020. Tree Traversals (25)
- 微信支付【支付模式】
- 02.二进制运算
- Picasso之图片缓存机制<二>ListView篇
- 多项式加法cpp
- 3sum
- Angular之过滤器(filter)与作用域(scope)
- 俄罗斯方块
- 02.算术左移逻辑左移,算术右移逻辑右移
- 三年了,一些反思
- 坦克大战