+7的原码:0000 0111

-7的原码:1000 0111   第一位0代表正数,1代表负数,第一位为符号位

+7的反码:0000 0111 正数反码和原码一样

-7的反码:1111 1000  符号位不变,其他取反

+7的补码:0000 0111 正数补码和原码一样

-7的补码:1111 1001 十六进制为:F9 负数的补码原码取反再加一


举个例子:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 void main()
 5 {
 6     char ch = -17;
 7     //0001 0001 +17原码
 8     //1001 0001  -17原码
 9     //1110 1110 反码
10     //1110 1111 -17补码  十六进制:ef
11     printf("%p", &ch);
12
13     getchar();
14
15 }

查看内存变量:  

规律:

正数:原码,反码,补码,正数都是一样的

负数:原码取反(不包括符号位)+1 = 补码


 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 void main()
 5 {
 6     int num = -1;
 7     //0000 0000 0000 0000 0000 0000 0000 0001  +1原码
 8     //1000 0000 0000 0000 0000 0000 0000 0001  -1原码
 9     //1111 1111 1111 1111 1111 1111 1111 1110  -1反码
10     //1111 1111 1111 1111 1111 1111 1111 1111  -1补码
11     printf("%u", num);
12
13     getchar();

结果:


补码的好处:

+7补码:0000 0111  补码为:0000 0111

-1补码:1000 0001   补码为: 1111 1111

         补码和为: 0000 0110 换成原码就是+6

+7补码:0000 0111

-9补码:  1111 0111

和为:      1111  1110

反码为:   1000 0001

再加1 :    1000 0010 代表的数为-2

转载于:https://www.cnblogs.com/xiaochi/p/8094196.html

10.原码 反码 补码相关推荐

  1. 关于计算机中 原码, 反码, 补码 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  2. 原码, 反码, 补码, 移码 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  3. 原码 反码 补码 详解

    一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式,  叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放 ...

  4. python二进制反码例题_python中的进制转换和原码,反码,补码

    python中的进制转换和原码,反码,补码 计算机文件大小单位 b = bit 位(比特) B = Byte 字节 1Byte = 8 bit #一个字节等于8位 可以简写成 1B = 8b 1KB ...

  5. 原码 反码 补码 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  6. 数制和码制(数制的转换的方法,BCD码<8421,2421,5421,余三码>,格雷码,原码,反码,补码,定点数和浮点数)

    目录 1.数制的转换 1)二,八,十六进制进制转十进制 加权系数求和法 2)十进制转二,八,十六进制 除基取余法(短除法) 减权定位法 3)二,八,十六进制的相互转换 2.BCD码 3.格雷码 4.原 ...

  7. Debug和release版本区别 原码反码补码的转换及存储

    #define _CRT_SECURE_NO_WARNINGS 1  //Debug和release版本区别(VS2019版) //例子 #include<stdio.h> //int m ...

  8. 浅谈 -128的原码 反码 补码

    以java中byte表示:2字节 8位,-128 首先首位1表示负数,128的正数为1000 0000(其实是-128),然后拼接为1 1000 0000,大于8位,则取低8位,为1000 0000, ...

  9. 原码, 反码, 补码详解——北大陈向群老师课堂笔记

    一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放符 ...

最新文章

  1. linux一键安装包
  2. Nginx如何限流?
  3. Code Generate of Power Designer[转]
  4. python鸡兔同笼编程输出不存在合理答案_Python 解答鸡兔同笼和五家共井问题
  5. Pytest前后置处理
  6. 计算机一级应用基础选择题,计算机应用基础一级考试选择题
  7. CentOS6.3 重启后/etc/resolv.conf 被还原解决办法
  8. python中与0xf2相等的是_python中__str__与__repr__
  9. 大多数人不知道的:线程池CallerRunsPolicy()拒绝策略
  10. restfulframework详解
  11. Java学习教程,Java基础教程(入门到精通)
  12. R语言中写入Excel的不同sheet表格
  13. uvm transaction
  14. 如何将pdf批量转换成word?
  15. 【Linux应用】Clonezilla使用指南
  16. Flink(三十七)—— Flink 清理过期 Checkpoint 目录的正确姿势
  17. freeswitch拨打分机号
  18. 【教程】美团联盟个人怎么注册推广做外卖cps红包
  19. RTP协议学习大总结从原理到代码
  20. 【财富空间】其实,硅谷最会玩的是“失败”

热门文章

  1. rsync同步操作 inotify实时同步 cobbler装机平台 DNS主从结构
  2. eclipse下安装PyDev不显示问题
  3. 强!分库分表与分布式数据库技术选项分析
  4. 996和被辞退,二选一
  5. 2018,人工智能在清算中落地
  6. Redis 从入门到起飞(下)
  7. 再谈 HBase 八大应用场景
  8. Java 运行时的内存划分
  9. 软件测试报告重点审核点有哪些,软件测试-测试报告.doc
  10. stm32数据手册中文_浅聊STM32系统构架