您能帮我进行定点格式的二进制数的算术运算吗? 我有两个符号大小的8位数字,例如0_0101010和1_0001100,其中最高有效位代表符号,并且没有整数部分,这意味着为小数部分分配了7位。当相乘时,根据所有规则,我得到一个 16 位结果,其中小数部分有 14 位,小数点左边有两个数字。我该如何解释这两个数字?它们是两个符号位吗?但在 1_0000000 * 1_0000000 = 01_0000000_0000000 的情况下,它们是不同的。顺便说一句,这是它们不同的唯一情况。据我了解,符号位确实是最后一位,即第16位,但是我如何解释第15位?
或者应该将第15位视为整数部分?还是应该将两个最高有效位不同的情况视为例外,而实际上,两个 8 位有符号数相乘的结果会产生 15 位结果,而不是 16 位结果?
符号位不应参与乘法本身。将它们异或在一起,这决定了结果的符号。乘法本身应该只考虑 7+7 数量级位。完成后添加之前准备好的符号位。