原码、反码、补码解析,保证一次搞懂
符号数
二进制符号数,其格式为
为了区别书写表示的带符号的二进制数和数字系统中的带符号二进制数,通常将用‘ + ’ ,‘ - ’ 表示正负的的二进制数称为符号数的真值,而把符号和数值一起进行编码的二进制数成为机器数。
常用的机器数就分为原码、反码、补码
设{[X1]真=−Xn−1Xn−2⋯X0X−1X−2⋯X−m[X2]真=+Xn−1Xn−2⋯X0X−1X−2⋯X−m\begin{cases} [X^1]_真 = -X_{n-1}X_{n-2}\dotsm X_0X_{-1}X_{-2}\dotsm X_{-m} \\ [X^2]_真 = +X_{n-1}X_{n-2}\dotsm X_0X_{-1}X_{-2}\dotsm X_{-m} \end{cases}{[X1]真=−Xn−1Xn−2⋯X0X−1X−2⋯X−m[X2]真=+Xn−1Xn−2⋯X0X−1X−2⋯X−m
原码:
原码:符号位加上真值的绝对值,符号位0表示正,首位1表示负
具体数值:
则{[X1]原=0Xn−1Xn−2⋯X0X−1X−2⋯X−m[X2]原=1Xn−1Xn−2⋯X0X−1X−2⋯X−m\begin{cases} [X^1]_原 = 0X_{n-1}X_{n-2}\dotsm X_0X_{-1}X_{-2}\dotsm X_{-m} \\ [X^2]_原= 1X_{n-1}X_{n-2}\dotsm X_0X_{-1}X_{-2}\dotsm X_{-m} \end{cases}{[X1]原=0Xn−1Xn−2⋯X0X−1X−2⋯X−m[X2]原=1Xn−1Xn−2⋯X0X−1X−2⋯X−m
整数X:
[X]原={Xif(X≥0)2n+∣X∣if(−2n<X<0)[X]_原 = \begin{cases} X &{if } (X\ge0) \\ 2^n+|X| &{if } (-2_n<X<0) \end{cases}[X]原={X2n+∣X∣if(X≥0)if(−2n<X<0)
小数X:
[X]原={Xif(X≥0)1+∣X∣if(−1<X<0)[X]_原 = \begin{cases} X &{if} (X\ge0) \\ 1+|X| &{if} (-1<X<0) \end{cases}[X]原={X1+∣X∣if(X≥0)if(−1<X<0)
反码:
反码:正数的反码是其本身,负数的反码在原码的基础上符号位不变,其余各位按位取反
{[X1]反=0X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m[X2]反=1X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m\begin{cases} [X^1]_反 = 0\hat X_{n-1}\hat X_{n-2}\dotsm \hat X_0\hat X_{-1}\hat X_{-2}\dotsm \hat X_{-m} \\ [X^2]_反= 1\hat X_{n-1}\hat X_{n-2}\dotsm \hat X_0\hat X_{-1}\hat X_{-2}\dotsm \hat X_{-m} \end{cases}{[X1]反=0X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m[X2]反=1X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m
具体数值:
整数X:
[X]反={Xif(X≥0)2n+1−1−∣X∣if(−2n<X<0)[X]_反=\begin{cases} X & {if} (X\ge0) \\ 2^ {n+1} -1 - |X|&{if} (-2_n \lt X<0) \end{cases}[X]反={X2n+1−1−∣X∣if(X≥0)if(−2n<X<0)
小数:
[X]反={Xif(X≥0)2−2−m−∣X∣if(−1<X<0)[X]_反=\begin{cases} X&{if}(X\ge0) \\ 2-2^{-m} - |X| & {if}(-1\lt X<0) \end{cases}[X]反={X2−2−m−∣X∣if(X≥0)if(−1<X<0)
补码:
补码:正数的补码是其本身,负数的补码在原码的基础上符号位不变,其余各位按位取反再+1,也就是反码+1,注意是最低位+1
{[X1]补=0X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m+X−m[X2]补=1X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m+X−m\begin{cases} [X^1]_补 = 0\hat X_{n-1}\hat X_{n-2}\dotsm \hat X_0\hat X_{-1}\hat X_{-2}\dotsm \hat X_{-m} + X_{-m}\\ [X^2]_补= 1\hat X_{n-1}\hat X_{n-2}\dotsm \hat X_0\hat X_{-1}\hat X_{-2}\dotsm \hat X_{-m} + X_{-m} \end{cases}{[X1]补=0X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m+X−m[X2]补=1X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m+X−m
具体数值:
整数X:
[X]补={Xif(X≥0)2n+1−∣X∣if(−2n<X<0)[X]_补=\begin{cases} X & {if} (X\ge0) \\ 2^ {n+1} - |X| &{if} (-2_n\lt X<0) \end{cases}[X]补={X2n+1−∣X∣if(X≥0)if(−2n<X<0)
小数:
[X]补={Xif(X≥0)2−∣X∣if(−1<X<0)[X]_补=\begin{cases} X&{if}(X\ge0) \\ 2 - |X| & {if}(-1\lt X<0) \end{cases}[X]补={X2−∣X∣if(X≥0)if(−1<X<0)
原码、反码、补码解析,保证一次搞懂相关推荐
- 浅谈 -128的原码 反码 补码
以java中byte表示:2字节 8位,-128 首先首位1表示负数,128的正数为1000 0000(其实是-128),然后拼接为1 1000 0000,大于8位,则取低8位,为1000 0000, ...
- Java修炼之凡界篇 筑基期 第02卷 语法 番外1 原码 反码 补码
原码 反码 补码 博客整理自 原码, 反码, 补码 详解 - ziqiu.zhang - 博客园 (cnblogs.com) 机器数与真值 在学习原码.反码和补码之前,需要先了解什么是机器数,什么是真 ...
- 原码反码补码以及左移右移无符号左移右移。
一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放符 ...
- 关于计算机中 原码, 反码, 补码 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...
- 原码, 反码, 补码, 移码 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...
- 关于 原码 反码 补码 位运算
二进制 原码:最高位为符号位,0为正 1为负 正数的原码 反码 补码 都是相同的 反码:负数的反码为原码符号位不变 其它对应变化(1变0 0变1) 补码:等于 反码+1 3^-3 =? 运算过程 - ...
- 10.原码 反码 补码
+7的原码:0000 0111 -7的原码:1000 0111 第一位0代表正数,1代表负数,第一位为符号位 +7的反码:0000 0111 正数反码和原码一样 -7的反码:1111 1000 ...
- java进制原码_Java 一一 进制、原码 反码 补码、移位操作
进制 二进制 和 十进制 相互转换 十进制 和 十六进制 相互转换 原码,反码,补码 原码.反码.补码: 在计算机内, 有符号数有三种表示法: 原码, 反码, 补码. 所有的数据的运算都是采用 补码 ...
- 大端 小端 原码 反码 补码 及内存中的表现
小端 和 大端 在内存中存储时,都是从内存的低地址往高地址存,即0x00000000 -> 0xffffffff 以汉字 "严"为例,Unicode码是4E25,需要两个字节 ...
- 原码 反码 补码 详解
一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放 ...
最新文章
- 计算机数学专业是应用数学专业吗,大学数学系的数学与应用数学专业学什么课程内容?...
- 考研预报名一直显示服务器错误,2021考研预报名 | 往年预报名出错的同学,问题出在这里!...
- 信息抽取(五)实体命名识别之嵌套实体识别哪家强,我做了一个简单的对比实验
- 给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等。
- python装饰器 稀里糊涂_谈谈自己的理解:python中闭包,闭包的实质
- redis列表list常用命令大全
- 3分钟快速了解,如何一次通过CISSP考试?
- 一文看懂抢注域名的相关问题解答
- device-side assert triggered原因和解决方法
- delete操作对UNDO表空间容量的冲击
- 【Django 天天生鲜项目05】订单(Mysql事务、并发处理、支付宝支付、评论)
- Win10下通过源码编译安装QGIS
- Java经典算法——百钱百鸡
- Python——内置的IDLE开发环境
- python气泡图的地图_Python数据可视化:香港地图、房价可视化,绘制气泡图
- vue学习篇--02内置指令 计算属性 侦听属性
- 微信小程序中的图片处理
- maven settings.xml 配置
- C语言练习题,if-else的用法,体型判断:医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法
- 交通状态预测 | Python实现基于扩散卷积和GNN的交通流时空预测