0的补码中,只有一种编码,00000000。
只有原码和补码中,有两个零(+0,-0)。
但是,在计算机中,值始终以二进制补码表示和存储。
在计算机中,既不存在原码,也不存在逆码。
所以,+0和-0在计算机中不存在。
那么思考它们、解释它们是没有意义的。
——————————————————————————————
值0既不是正值也不是负值。可以说是“中性”。
但在计算机编码中,它要么是1,要么是0,不能表达“中性”。
所以,为了愚弄所有人,计算机专家不得不给出零并想出两个代码(+0,-0)。
后来我发现我可以骗过人,但骗不了电脑。
因此,原码和反码均不能应用。
其实原码就是反码+0-0。这些垃圾概念只是一堆谎言。
正负数和补码可以直接互换,不需要绕着原码求逆。
在计算机中,二进制数字编码用于表示数字信息。它是一个8位二进制数。最高位代表符号位。“0”代表正数,“1”代表负数。整数用定点数表示,实数用浮点数表示。
数字信息在计算机中用二进制编码表示,有原码、补码和补码三种形式。正数的编码与原码、补码、补码相同。对于负数,补码是补码加一得到的。
定点数是指计算机中使用的一种数字表示方法。参与运算的数字的小数点位置是固定的。浮点数是指参与运算的数字的小数点位置是可变的。具体来说,这个实数是由一个整数或定点数(即尾数)乘以某个基数(在计算机中通常为2)的整数次方得到的。
扩展信息
浮点加减运算:
假设有两个浮点数x和y,分别是
x=Mx*2^Ex
y=My*2^Ey
其中Ex和Ey分别是数字x和y的顺序代码、Mx和My是数字x和y的尾数。
两个浮点数加减的运算规则为
假设Ex小于等于Ey,则x±y=(Mx*2^(Ex-Ey)±My)*2^Ey,
完成浮点加减运算的操作过程大致分为四步:
1.0操作数检查;
2.比较订单Code大小并完成订单;
3.加或减尾数;
4.结果经过标准化和四舍五入。
参考来源:郑力、董源、何江舟主编的《C++语言程序设计(第4版)》清华大学出版社第一章引言1.4信息的表示与存储
参考数据来源:--定点数
参考来源:--浮点数
上一篇:小米8怎么清理运行内存
下一篇:负数在内存中按字方式怎样存储