符号大小用来表示负数吗?

Is sign magnitude used to represent negative numbers?

我知道用补码表示负数,但是也有用符号大小的方法。符号大小仍然用于表示负数吗?如果不是,那么它以前在哪里使用过?一台使用二进制补码解释负数的机器如何能够交流和理解另一台使用符号幅度的机器?

是的,今天经常使用符号幅度,尽管不是您所期望的那样。例如,IEEE floating point 使用单个 "sign" 位来表示正数或负数。 (因此,IEEE 浮点数可以是 -0。)然而,符号幅度如今并不常用于整数。

如果两台机器尝试使用其本机编码格式,则使用不同数字表示的两台机器之间的通信只会出现问题。如果为交换信息定义了通用格式,就没有问题。例如,使用二进制补码的机器可以使用符号幅度编码轻松构造数字(反之亦然)。如今,不同的机器更有可能使用数字的 ASCII 表示(例如 JSON 或 XML)或使用完全不同的二进制编码(例如 ASN.1,zigzag encoding, 等等).