0的原码,补码,反码是什么 |
您所在的位置:网站首页 › 1010100补码的反码是什么 › 0的原码,补码,反码是什么 |
数字(正数、负数、零),是以各种代码,存入计算机的。 要知道,世界上,只有一个零。 这可是小学的知识。 但是,原码反码,都编制了两组代码。这就是“逆天”了。 ------------------- 零的原码,有两个代码: [+0]原码 = 0000 0000、[-0]原码 = 1000 0000。 反码,不甘落后,也是两个代码: [+0]反码 = 0000 0000、[-0]反码 = 1111 1111。 它们,都是重复定义了“零的编码”,这就造成了混乱。 这就导致,这两种代码,根本就无法使用。 而且,由于零多占用一组代码,那么,所能表示的数字,必然就少一个。 如八位的原码反码,都不能表示-128。 ***因此,用“取反加一”来求 0 和-128 补码,都是不可能解决的!*** ------------------- 在计算机系统中,数值,一律采用补码来表示和存储。 不用原码反码,也就是说,计算机无法使用它们。 补码的理论,来源于数学的规律,并非是人为的胡编乱造。 零,在补码中,只用唯一的一组代码来表示,这就不会产生混乱。 0 的八位补码,就是一个:0000 0000。 并没有违规的正负零的补码。 ------------------- 0 和-128 的补码,都是怎么求出来的? 补码,有自己的定义式,与原码反码,并无关系。 这定义式,是由数学理论推导出来的,要比胡说八道的“取反加一”更准确严密。 当 X >= 0: [ X ]补码 = X; 当 X < 0: [ X ]补码 = X + 2^n, n 是补码的位数。 按照定义式,0 和-128 的八位补码,都可以求出来了。 [ 0 ]补码 = 0000 0000。 [-128]补码 = -128 + 2^8 = 128 = 1000 0000 (二进制)。 如果用“取反加一”,可就难办了。 因为,-128 并没有原码和反码,拿什么取反加一! 按照“取反加一”,零的补码,也将是“负零的反码+1”。 那么,[-0]补码=0000 0000,符号位是正的,也是无法解释的结果。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |