社区
C++ 语言
帖子详情
不用补码为什么就不能保证0的表示唯一性了?
wwllyl
2004-11-22 03:01:33
不用补码0不也是表示成00000000吗?
还有哪个能表示0?
...全文
190
1
打赏
收藏
不用补码为什么就不能保证0的表示唯一性了?
不用补码0不也是表示成00000000吗? 还有哪个能表示0?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jp1984
2004-11-22
打赏
举报
回复
源码+0 ,-0是不同的这你知道八?
+0 = 0000 ,-0 = 1000
反码+0 = 0000,-0 = 1111
只有补吗+0 = 0000,-0 = 0000
晓得了伐?
补码
的
表示
以及+-0的问题
正数的
补码
是其本身,也就是原码. 负数的
补码
是各位取反后加1.也就是其反码加1. +0的
补码
就是其原码,也就是说是0000 0000而已(对于8位来说) -0的
补码
是其反码加1,其反码是1111 1111,当然,其反码加1后就是溢出一个进位后,仍然是0000 0000. 问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的。 于是就引入了
补码
概念。负数的
补码
就是对反码加一,而正数不...
为什么计算机用
补码
运算
计算机为什么用
补码
运算 使用
补码
,可以将符号位和数值域统一处理,从而简化运算规则、简化运算器的结构,提高运算速度; 使减法运算转换为加法运算,进一步简化计算机中运算器的电路设计 两个用
补码
表示
的数相加时,如果最高位(符号位)有进位,则进位被舍弃,而这样计算仍然正确; 采用
补码
表示
还有另外一个原因,那就是为了防止0机器数有两个编码。原码和反码
表示
的0有两种形式+0和-0,而采用
补码
表示
的时候,00000000是+0即0,10000000不再是-0而是-128这样,
补码
表示
的数的范围就是-128~+127,不
为什么通用计算机多采用
补码
,为什么计算机用
补码
存储数据?
在计算机内部,所有信息都是用二进制数串的形式
表示
的。整数通常都有正负之分,计算机中的整数分为无符号的和带符号的。无符号的整数用来
表示
0和正整数,带符号的证书可以
表示
所有的整数。由于计算机中符号和数字一样,都必须用二进制数串来
表示
,因此,正负号也必须用0、1来
表示
。通常我们用最高的有效位来
表示
数的符号(当用8位来
表示
一个整数时,第8位即为最高有效位,当用16位来
表示
一个整数时,第16位即为最高有效位...
为什么使用
补码
1.为什么使用
补码
形式: 其实计算机中的数值用
补码
来
表示
,一是为了防止0有2个编码,其次就是为了把减法运算用加法运算
表示
出来,以达到简化电路的作用(因为有了负数的概念,减法可以换算为加法)。具体内容请参看一些专业书籍,比如华中科技大出版的《逻辑设计》(呵呵,我大二的课本)。 为什么用
补码
表示
有符号整数。比如8位整数
表示
的范围是-128~127,而不是-127~128呢?想过没有,为什么
为什么会有原码、反码和
补码
?
为什么会有原码、反码和
补码
? 在计算机内,定点数有3种
表示
法:原码、反码和
补码
所谓原码就是前面所介绍的二进制定点
表示
法,即最高位为符号位,“0”
表示
正,“1”
表示
负,其余位
表示
数值的大小。 反码
表示
法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码
表示
法规定:正数的
补码
与其原码相同;负数的
补码
是在其反码的末位加1。 正数的反码和
补码
都...
C++ 语言
64,681
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章