原码 补码 反码 移码
目录
原码
反码
补码
移码
转换
原码 补码 反码
原码
- 0和1组成
- 正负用0和1表示(添加在最前面)
真值转原码
- 转化符号位
- 数值位十进制转二进制
对于十进制数
- 233(正数)
正数->符号位为0
233——>011101001(原码)
- -233(负数)
负数—>符号位为1
233——>111101001(原码)
- 字长为8(表示范围)
- -127~127
一位为符号位置 所以能表示数字的只有7位
- 0 (两种形式)
- +0——>0 0000000
- -0——>1 0000000
反码
对于正数
- 反码=原码
对于负数
- 转为原码
- 符号位保持为
- 数值位取反
-1101001(真值)
转为原码——>11101001
数值位取反(符号位不变)——>10010110(反码)
- 对于数字0
- 正0(+0)——>0 0000000
- 负0(-0)——> 1 1111111
-0
原码 10000000
数值位取反
补码
对于正数
补码=原码
对于负数
补码=反码+1
- 转化为反码后
- 先+1在取负号
表示范围
字长为8位
-128~+127
- 多一个负值-128
- 原本表示-0的 10000000 用来表示-128
0只有一种+0的形式
二进制(8位字长) |
无符号 |
原码 |
反码 |
补码(取反码再+1) |
00000000 |
0 |
0 |
0 |
0 |
10000000 |
128 |
-0 |
-127 |
-128 |
11111111 |
255 |
-127 |
-0 |
-1 |
移码
- 通常用来
表示
浮点数
的阶码
阶码通常位整数
X移=2n-1+X (-2n-1<X<2n-1)(n为阶码的位数)
- 移动的2n-1要转换为二进制
对于正数
- 进行二进制加法运算
X=+10101 阶码位数为6
25+10101=110101
100000
+ 10101
110101(移码)
- 原码符号位变取反 数值为不变
- X=+10101 原码为010101
- 符号位取反 ——>110101(移码)
对于负数
- 进行二进制减法运算
X=-10101 阶码的位数为6
25-10101=001011
100000
- 10101
001011
- 对原码符号位和数值位一起取反
X=-10101 原码 110101
符号位 和数值位取反 --->001010(移码)
范围
-128~+127
- 0 只有一个移码 10000000
转换
补码——>原码
[[X]补]补=X原对补码再进行一次取反 得到原码
X补=11101100
再取补码
10010100
[X]补——>[-X]补
- 同符号位一起取反(改变正负号)
- 末位+1
X补=11101100
- 同符号位一起取反
00010011
- +1
-X补=00010100
原码 补码 反码 移码相关推荐
- 真值 原码 补码 反码 移码
真值 原码 补码 反码 移码 真值是相对与其它四种的数字类型 书写中一般表示的数叫做"真值" 机器中编码表示的数 "机器数||机器码<原码 补码 反码 移码 > ...
- 计算机组成原理:原码,补码,反码,移码
无符号数 寄存器的位数反映和决定无符号数的表示范围 比如八位的寄存器就只能储存十进制的0-255 有符号数 机器数与真值 在计算机当中没有硬件表示小数点的位置,而小数点的位置是我们自己约定的, 小数的 ...
- 计算机运算方法之(原码 补码 反码 移码)
无符号数 表示范围:0-65535 有符号数 表示范围: -32768~+32767 正值:0 负数:1 有符号数(小数) 小数:+0.1011表示: 01011 小数点位置在0.1011 小数:-0 ...
- java反码补码原码作用_java原码补码反码关系解析
本文为大家解析了java原码补码反码的关系,供大家参考,具体内容如下 原码:不管源数据是十进制还是十六进制,统统将数字转成二进制形式 反码:把原码的二进制统统反过来,0变成1,1变成0 补码:负数的反 ...
- 原码 补码 反码的转换
正数 : 原码 补码 反码都相同 机器数:+1001010 原码:01001010 (符号位 正数为0) 补码:01001010 (补码与原码相同) 反码:01001010 (反码与原码相同) 负数 ...
- 计算机组成原理之 原码 补码 反码
原码 补码 反码 前言 一.有符号数 1.1原码 补码 反码 总结 前言 在计算机中一般使用二进制表示各个有理数.在计算机中参与运算的数有两大类:有符号数和无符号数.无符号数就是没有符号的数,在寄存器 ...
- c语言原码 补码 反码,C语言 原码--反码--补码
//原码,反码,补码 #include #include //数值的表示方法--原码.反码和补码 //原码:最高位为符号位,其余各位为数值本身的绝对值 //反码: //正数:反码与原码相同 //负数: ...
- java部分基础知识 (二):计算机组成原理 原码 补码 反码 按位符 移位符 按位与 按位或 按位抑或 非 分析hashMap的put方法原理
这里写目录标题 引言 符号位 正数的二进制计算 负数的二进制计算 按位符和移位符 按位符 移位符 分析hashMap运算符 byte和char 总结 引言 最近做完一个项目后,我忽然发现自己的基础并不 ...
- 16位二进制补码 c语言,2,16进制原码补码反码问题
1. 在计算机里,通常用数字后面紧跟一个英文字母来表示该数的数字, 十进制一般用D,二进制用B,八进制用O,十六进用H来表示, 2. 首先,十进制数转换成二进制,除2取余,按箭头方向写,自上而下写出来 ...
最新文章
- 清华大学开源迁移学习算法库:基于PyTorch实现,支持轻松调用已有算法
- 大数据分析处理框架——离线分析(hive,pig,spark)、近似实时分析(Impala)和实时分析(storm、spark streaming)...
- JavaScript中delete运算符
- JDK、Spring、Dubbo SPI 原理介绍
- 评估数据源是否回溯_IAI Trade:蒙特卡洛模拟在回溯检验中的应用
- 彻底删除 XP 自带的 Windows Messenger方法
- 【实战练习】通过docker部署jenkins
- 产品经理应该先写需求文档还是先画原型?
- iOS边练边学--UITableViewCell的常见属性设置
- dataframe scala 修改值_如何填补Pandas中的缺失值(机器学习入门篇)
- Serial垃圾回收器总结
- vs2010使用教程c语言编程,VS2010的使用
- 硬件开发笔记(七): 硬件开发基本流程,制作一个USB转RS232的模块(六):创建0603封装并关联原理图元器件
- 整理网线接水晶头步骤
- 【CSS3】模拟太阳系八大行星运行轨迹
- python之禅中文原文_Python之禅翻译
- 关于Navicat到期的办法(亲测有效)
- sqlloader 导入数据的一点经验教训(最后附我的导入过程)
- C++经典算法题-猴子吃桃问题
- 对爱词霸(iciba)生词本功能的一些建议