我知道这两个补码用于表示负数,但也有使用符号幅度的方法。标志幅度是否仍用于表示负数?如果不是之前使用的地方呢?一台机器如何使用两个补码来解释负数,能够通信并理解另一台使用符号幅度的机器呢?
答案 0 :(得分:6)
是的,今天经常使用符号幅度,但不是您所期望的。例如,IEEE floating point使用单个“符号”位来表示正面或负面。 (因此,IEEE浮点数可以是-0。)但是,对于整数,今天通常不使用符号幅度。
使用不同数字表示的两台计算机之间的通信只有在两者尝试使用其本机编码格式时才会出现问题。如果为交换信息定义了通用格式,则没有问题。例如,使用二进制补码的机器可以使用符号幅度编码轻松构造数字(反之亦然)。目前,不同的机器更可能使用数字的ASCII表示(例如,在JSON或XML中)进行通信,或者使用完全不同的二进制编码(例如,ASN.1,zigzag encoding等)。