关于-32768补码的问题
首先要知道的是计算机中补码的表示是唯一且连续的!我想这是计算机为什么不用原码来表示的一个原因!另外,以补码形式来运算的话,设计的逻辑电路会简单很多,会少很多逻辑运算器件,所以计算机采用补码的形式来运算。
比如说:0的原码有两种
+0 = 00000000 00000000;
-0 = 10000000 00000000;
而补码只有一种:00000000 00000000;
怎么求补码呢!最简单的是符号位不变其他位换号再加1;注意:加1的时候符号位参与运算,如果最高位有溢出则舍去!
例: - 0的补码:
原码:10000000 00000000
符号位不变其他位换号:11111111 1111111
加1:
11111111 11111111
+00000000 00000001
= (1)00000000 00000000
(1)被舍去。
我们知道,16位二进制数可以表现2的16次方个编码,而在补码中零的编码只有一个,也就是补码中会比原码多一个编码出来,这个编码就是1000000000000000,因为任何一个原码都不可能在转成补码时酿成1000000000000000。
所以,人为规定1000000000000000这个补码编码为 - 32768。所以,补码系统中,范围是 - 32768~32767。
因此,实际上,二进制的最小数确实是1111111111111111,只是二进制补码的最小值才是1000000000000000,而补码的1111111111111111是二进制值的 - 1。
而 - 32768的补码:因为16位的话,在计算机中 - 32768不能用原码表示出来。所以只能通过 - 32767 - 1来求:
-1的补码为11111111 11111111
-32767的补码为10000000 00000001
所以加起来为:(1)1000000 00000000 (1)被舍去了。
又因为10000000 0000000没有用来表示其他任何数,所以10000000 00000000就被用来表示 - 32768,这也验证了补码的唯一性和连续性!而且这也证明了16位的整数的范围是“ - 32768~32767”。不过16位整数的原码的范围只有:“ - 32767~32767”。
关于-32768补码的问题相关推荐
- 关于-32768的补码!
这个问题困扰我一天了,现在终于有点小悟了. 首先要知道的是计算机中补码的表示是唯一且连续的!我想这是计算机为什么不用原码来表示的一个原因!比如说:0的原码有两种,+0=00000000 0000000 ...
- 原码、反码、补码问题以及-32768~+32767问题
原码.反码.补码问题以及-32768~+32767问题 1. 原码.反码.补码问题 在C语言中,对于有符号整形数,原码的最高位为符号位,符号位为0表示正数,符号位为1表示负数,仅用原码来表示数是没有 ...
- 从1的补码说起计算机的数制
字节换算 bit(b)=位 字节(byte)=8位 -128~127 0-255 半字=2字节=16位 -32768~32767 0-65,535 字(word)=4字节=32位 -214748384 ...
- 有符号类型的最小负数的补码的由来
有符号类型的最小负数的补码的由来 一. 16位的有符号整数(int) 在计算机中是用补码存储数据 为什么不用原码存 就是因为原码表示不了最小值-32768 如果是原码表示的话,编码中+0是用16个0表 ...
- 这样给学妹讲原码、反码、补码,帮她彻底解决困扰了三天的问题
前言 补码是给机器看的,原码是给人看的,反码是二者的桥梁,原码反码补码虽然是简单问题,但确实很多人很长时间没有搞明白和深入思考,这篇把自己学习和理解过程记录下来,刚好一个学妹问到这个问题.本篇只讲原码 ...
- IOS笔记-计算机中的进制 反码补码 和存储细节
1.计算机中的进制 计算机能够识别的只有二进制 0.1 进制就是一种计量的单位 2.常见的进制: 二进制:逢二进一 用0.1来表示,定义一个二进制的数:0b 或者 0B ,0B1010(2)=10 ...
- c或c++语言什么时候用补码来运算,C/C++(基础编码-补码详解)
两个数的交换 1.引入第三者. 2.求和运算,求差.(这样会产生内存溢出) 3.异或运算 a = a^b; b = a^b; a = a^b; 8b(bit位) = 1B(Byte=字节)//最小单位 ...
- 无符号数、有符号数、补码在汇编中的运用及相关注意事项
1.原码.反码.补码知识的复习: 三者的最高位均为符号位.我以前一直没弄明白的是为何8位补码的表示范围是-128~127,今天查阅了相关资料,于此记下. 仍然以8位为例: 原码的表示范围:-127~- ...
- 关于源码,反码,补码(正数--负数)---------(-128)自己的理解
以一个字节为例 1.无符号位,一个字节可以存放0~255共256个数字:有符号位存放-128~127共256个数字: 2.无符号全都表示为正数:有符号位则首位表示正负数,正数首位为0,负数首位为1(因 ...
最新文章
- Linux如何从图形界面切换到命令界面
- 查看 Eigen库 linux系统的版本
- 修改android virtual device路径
- Nginx 源码分析-- 模块module 解析执行 nginx.conf 配置文件流程分析 一
- ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Exception in doCheckpoint
- /dev/mtdN和/dev/mtdblockN的区别
- c++ 静态变量赋值_Python变量及常量解释说明
- 【渝粤教育】21秋期末考试个人与团队管理10257k2
- 【渝粤教育】广东开放大学 财政学 形成性考核 (43)
- 将一个字段分成3个 php,整理几个方法
- TikZ绘图示例——尺规作图:直角的画法(一)
- 磁盘阵列(RAID)
- 苹果Mac最智能的javascript前端编辑器:WebStorm
- MyRocks之备份恢复
- 命名空间“System.Web”中不存在类型或命名空间名称“HttpUtility”。是否缺少程序集引用?...
- java excel 单元格换行_单元格里的文字换行_ExcelHome - 全球极具影响力的Excel门户,Office视频教程培训中心...
- (亲测有效)解决keil5编译出现的L6002U问题
- 18年12月英语六级第二套听力单词
- 【互联网及其应用】第4章网络应用技术
- 二极管主要特性及伏安特性曲线
热门文章
- python报错 scrolled: false_python 元组tuple - python基础入门(14)
- 【经典回放】JavaScript学习详细干货笔记之(二)
- Android之用 ExpandableListView使用解析(三级列表的实现)
- Android之内核学习笔记
- echarty轴自定义显示不全_表格打印不全怎么办?这招超简单!
- 这样子称象你试过没有?
- 需要多快的速度,才能在抽走桌布之后保持桌面物体不掉?
- 直男约会能有多奇葩​?
- 史上最被低估的两个学科!它们远比你想的更重要!
- 20幅扎心漫画,道尽无数人的人生!30万网友:这简直是在偷窥我生活...