二进制,有符号数,首位为1的是负数,首位为0的是正数。(规定)
无符号数没有正负之分,所以也没有首位的限制。(规定)
以下示例皆以八位二进制表示)

无符号数

无符号数的原码、反码、补码都一样,皆为该数的二进制表示法

原码 反码 补码

定义

无符号数的原码为该数的二进制表示法
无符号数的反码与原码一样
无符号数的补码与原码一样

举例

1(无符号数)==>0000 0001(原码)==>0000 0001(反码)==>0000 0001(补码)

正数

正数的原码、反码、补码都一样,皆为该数的二进制表示法(同无符号数差不多)

原码 反码 补码

定义

正数的原码为该数的二进制表示法。
正数的反码与原码一样。
正数的补码与原码一样

举例

1==>0000 0001(原码)==>0000 0001(反码)==>0000 0001(补码)
首位为0的表示正数,所以原码、反码和补码的首位都是0

负数

原码

定义

负数的原码为该数对应的无符号数的二进制,将首位置1。

举例

-1==>1(无符号数)==>0000 0001(无符号数的二进制)==>1000 0001(原码,首位置1)。
(负数的首位为1)

反码

定义

负数的反码为该数原码的符号位不变,其它位取反。

举例

-1==>1000 0001(原码)==>1111 1110(反码,符号为不变,其它位取反)。
(负数的首位为1)

补码

定义

1、负数的补码为该数对应的无符号数的二进制取反加一。
2、负数补码(首位为1)减一,取反表示的是这个数的无符号数的二进制。

举例

1

-128==>128(无符号数)==>1000 0000(-128的无符号数的二进制)==>0111 1111(取反)==>1000 0000(补码,加一)(负数的首位为1)
-1==>1(无符号数)==>0000 0001(-1对应无符号数的二进制)==>1111 1110(取反)==>1111 1111(补码,加1)(负数的首位为1)

2

1000 0000(补码) ==> 0111 1111(减一) ==> 1000 000(取反,无符号数128)==> -128(负数)(负数的首位为1)
1111 1111(补码) ==> 1111 1110(减一) ==> 0000 0001(取反,无符号数1) ==> -1(负数)(负数的首位为1)

后记

计算机皆使用补码。用补码计算,符号位也可以参与运算。若以原码计算,符号位参与运算数据会出错,所以还需要标识符号位,会造成电路设计复杂,故抛弃。若以反码计算,会存在+0与-0的问题,而0在人们的常识中是不存在正负之分的,所以也抛弃。
补码取反加一为该数的相反数(补码) eg: 1 ==> 0000 0001(补码)==>1111 1110(取反) ==>1111 1111(加1) ==> -1
因为二进制有位数限制,所以表示的数大小也有限制,8位表示的无符号数返回为0(0000 0000(补码))~256(1111 1111(补码)),有符号数为-128(1000 0000(补码))~127(0111 1111(补码))

正数、负数求原码、反码、补码相关推荐

  1. 正负数的原码反码补码

    对于有符号的而言: 1) 二进制的最高位是符号位: 0 表示正数,1 表示负数 2) 正数的原码,反码,补码都一样 (三码合一) 3) 负数的反码=它的原码符号位不变,其它位取反(0->1,1- ...

  2. day017:Java进制转换、原码反码补码、位运算、位移运算符

    一.进制介绍: 1.进制:指进位制,表示某一位置上的数,运算时是逢X进一. 十进制就是逢十进一,二进制就是逢二进一,八进制就是逢八进一. 2.Java中默认的数值都是十进制,如果要输入其他进制,在数值 ...

  3. 原码 反码 补码的相互转换

    原码 反码 补码的相互转换 原码 反码 补码的转换 还是比较 简单基础的问题.之前学习java的时候就学过,后来忘记了,忘记了!!!,后来学了位移运算符,左移 右移 无符号右移 之后就由有点儿懵了. ...

  4. 正数负数的原码、反码、补码

    假设有一个 int 类型的数,值为5,那么,它在计算机中表示为: 00000000 00000000 00000000 00000101 5转换成二制是101,不过int类型的数占用4字节(32位), ...

  5. 负数的原码反码和补码

    As we all know,正数的三码都一样,注意一下最高位为符号位即可: 负数的原码最高位为1,与真值之间换算方便,但对于做减法的操作却很无力,于是引进了反码和补码:负数的反码为它的正数按位取反, ...

  6. 正负数在计算机中的表示(原码反码补码)及位运算

    负数在现代计算机里一般用补码表示(正数也是) 正数补码就是它的原码 负数补码: 最高位是符号位,其余位为对应整数的原码取反再+1 如:1000 0000还原为原码:最高位是1,表示负数,剩余的各位取反 ...

  7. 原码 反码 补码 之间在小数正数间的转换

    原码 反码 补码 之间在小数正数间的转换 基本转换 对于正数 原码等于反码等于补码(小数也一样) 对于负数 原码除了符号位取反即反码 反码基础之上+1即补码 但是在遇到某些题时候还是会混淆,比如三者在 ...

  8. 负数的二进制 原码反码补码

    https://blog.csdn.net/weixin_38296030/article/details/88353914 问题来源: "为毛   -x=!x+1  ??? 其中x为一任意 ...

  9. java进制原码_Java 一一 进制、原码 反码 补码、移位操作

    进制 二进制 和 十进制 相互转换 十进制 和 十六进制 相互转换 原码,反码,补码 原码.反码.补码: 在计算机内, 有符号数有三种表示法: 原码, 反码, 补码. 所有的数据的运算都是采用 补码 ...

最新文章

  1. ACCESS数据库防止下载
  2. 前端进阶(三) webpack处理vue以及vue-cli脚手架环境
  3. linux系统定时检查网络状态python脚本
  4. mysql back blog_mysql的备份Xtrabackup
  5. 开机f8修复电脑步骤_知识 | 8种方法修复电脑无法开机问题
  6. spring源码分析之spring-web remoting模块概况及基本概念
  7. 七 web爬虫讲解2—urllib库爬虫—状态吗—异常处理—浏览器伪装技术、设置用户代理...
  8. 这位博士跑赢“地震波”:提前 10 秒预警宜宾地震!
  9. 随想录(我们的竞争力)
  10. Java编程思想笔记(内部类)
  11. 古风素材无水印免费下载
  12. Android之视频裁剪
  13. 智能识别系统设计---图像特征提取
  14. 平台业务收款分账产品设计 - 支付计费分账
  15. 制作ubuntu18.04启动盘 + 安装ubuntu18.04
  16. 生物信息百Jia软件(七):glimmer
  17. java图片马赛克_朋友圈照片打上马赛克,就真的安全了吗?
  18. 准大三学生暑期社会实践真实感悟
  19. catia怎样倒2d_Catia Drafting平面图生成 3D 转2D教程.ppt
  20. 如何用计算机弘扬中国精神,【弘扬伟大民族精神】姚期智:为中国建一流计算机学科...

热门文章

  1. matlab小猪程序,matlab描绘小猪佩奇为字符串
  2. MyEclipse项目出现无法解析类型 javax.servlet.http.HttpServletRequest。从必需的 .class 文件间接引用了它
  3. 玩树莓派于是做了一个扩展板12V供电转5V外加风扇及外设
  4. JMVM系列之一 MVC多视点参考帧管理类
  5. 优酷VIP会员周卡只需7.5元,看《沉香如屑》用优酷视频
  6. kNN算法(k近邻算法,k Nearest Neighbor)
  7. c语言 subl 指令,linux 之 汇编语言 的mov和movl sub 和subl add 和addl 的区别??
  8. 【安全】Web应用常见业务逻辑漏洞
  9. Keil uVision5美化
  10. 电子病历质控系列-总结篇(001)