原码反码补码移码转换详解
2015-10-26 14:51
741 查看
下面都以8位为例,说明问题即可。
一、原码(-127—127):
原码求法:有符号数的二进制表示。
例如:4 = 0000 0100(原码)
-4 = 1000 0100(原码)
0有两种表示:0000 0000和1000 0000
二、反码(-127—127):
负数反码求法:在原码基础上,符号位不变,其余各位取反;
正数反码与原码相同;
例如:4 = 0000 0100(原码)= 0000 0100(反码)
-4 = 1000 0100(原码)= 1111 1011(反码)
0有两种表示:0000 0000和1000 0000
三、补码(-128—127):
负数补码求法:在反码基础上,末尾加一;
正数补码与原码相同;
例如:4 = 0000 0100(原码)= 0000 0100(反码)= 0000
0100(补码)
-4 = 1000 0100(原码)= 1111
1011(反码)= 1111 1100(补码)
0只有一种表示:0000 0000
-128表示为: 1000 0000
四、移码(-126——127):
移码求法:补码的符号位取反;
例如:4 = 1000 0100(移码)
-4 = 0000 0100(移码)
1000 0000 和 1111 1111 保留用来表示特殊值和无穷大;
一、原码(-127—127):
原码求法:有符号数的二进制表示。
例如:4 = 0000 0100(原码)
-4 = 1000 0100(原码)
0有两种表示:0000 0000和1000 0000
二、反码(-127—127):
负数反码求法:在原码基础上,符号位不变,其余各位取反;
正数反码与原码相同;
例如:4 = 0000 0100(原码)= 0000 0100(反码)
-4 = 1000 0100(原码)= 1111 1011(反码)
0有两种表示:0000 0000和1000 0000
三、补码(-128—127):
负数补码求法:在反码基础上,末尾加一;
正数补码与原码相同;
例如:4 = 0000 0100(原码)= 0000 0100(反码)= 0000
0100(补码)
-4 = 1000 0100(原码)= 1111
1011(反码)= 1111 1100(补码)
0只有一种表示:0000 0000
-128表示为: 1000 0000
四、移码(-126——127):
移码求法:补码的符号位取反;
例如:4 = 1000 0100(移码)
-4 = 0000 0100(移码)
1000 0000 和 1111 1111 保留用来表示特殊值和无穷大;
相关文章推荐
- android 倒计时
- iOS 屏幕旋转问题
- 网络爬虫讲解(附Java实现的实例)
- IgniteRDD学习笔记(一)
- Determine the ISTG Role Owner for a Site(确定站点的ISTG角色持有者)
- jquery实现无刷新提交表单
- Android5.0 源码分析--- Launcher启动应用的过程
- ThinkPHP使用方法与心得
- highcharts图表组件如何设置某个数据点的颜色或者数据标签的颜色值
- 网络传输中的三张表,MAC地址表、ARP缓存表以及路由表
- Web Service和WCF的到底有什么区别
- 荒芜岁月
- 栈stack的小知识
- SAP跨公司销售经典场景
- Highcharts 调整曲线图的粗细、点大小、点形状
- 解决eclipse安装maven的问题:Unable to update index for central|http://repo1.maven.org/maven2
- Linux加载DTS设备节点的过程(以高通8974平台为例)
- 静态代码分析工具汇总
- ubuntu 下node 环境的安装
- android 验证手机格式