Binary 如何用二进制表示-0

Binary 如何用二进制表示-0,binary,fixed-point,negative-number,Binary,Fixed Point,Negative Number,此问题涉及将小于abs(1)且为负数的浮点数转换为32.32格式,例如:-0.1234 当转换为32.32时,整数部分和小数部分分别被分成上32位和下32位字。在上面的示例中,高32位将保持-0,而低32位将保持.1234,两者都转换为二进制 所以问题是,在这种情况下,如何正确地用二进制表示-0值?+0==0==0=-0用于编程的实际目的。在这种情况下,您必须了解负数是如何处理的,但底层系统除外。(通常为或)并相应地使用它。+0==0==-0用于编程的实际目的。在这种情况下,您必须了解负数是如何

此问题涉及将小于abs(1)且为负数的浮点数转换为32.32格式,例如:-0.1234

当转换为32.32时,整数部分和小数部分分别被分成上32位和下32位字。在上面的示例中,高32位将保持-0,而低32位将保持.1234,两者都转换为二进制


所以问题是,在这种情况下,如何正确地用二进制表示-0值?

+0==0==0=-0
用于编程的实际目的。在这种情况下,您必须了解负数是如何处理的,但底层系统除外。(通常为或)并相应地使用它。

+0==0==-0
用于编程的实际目的。在这种情况下,您必须了解负数是如何处理的,但底层系统除外。(通常为或)并相应地使用它。

这取决于

  • ,没有-0这样的东西
  • ,-0由所有“1”表示
  • ,-0由符号位“1”表示,所有其他位为“0”
视情况而定

  • ,没有-0这样的东西
  • ,-0由所有“1”表示
  • ,-0由符号位“1”表示,所有其他位为“0”

好的观点。该问题源于客户的要求,该要求规定了将双值存储到EEPROM中时要使用的数字格式。有趣的是,该要求确实要求以“32.32 2的补码格式”对数字进行编码。作为2的补码,那么-0.1234的值怎么可能被编码并写入EEPROM,然后检索和解码而不丢失负号呢?@doug:“32.32”的想法是它将以与“64.0”存储
x*完全相同的方式表示某个数字
x
(1L很好。这个问题源于客户的要求,该要求规定了将双值存储到EEPROM中时要使用的数字格式。有趣的是,该要求确实规定以“32.32 2的补码格式”对数字进行编码作为2的补码,那么-0.1234的值怎么可能被编码并写入EEPROM,然后被检索和解码而不丢失负号呢?@doug:“32.32”的想法是它将以与“64.0”存储
x*(1L)完全相同的方式表示某个数字
x