我正在使用 OKI 431 微控制器。它可以与安装了适当软件的PC进行通信。一个 EEPROM 连接在 micro 的 I2C 总线上,用作永久存储器。PC 软件可以读取和写入该 EEPROM。
考虑两个数字,B 和 C,每个都是两字节整数。B 对 PC 软件和 micro 来说都是已知的,并且是一个常数。C 将是一个非常接近 B 的数字,因此 BC 将适合一个有符号的 8 位整数。经过一些测试,合适的 C 值将由 PC 确定并存储到 micro 的 EEPROM 中以供以后使用。
现在 micro 可以通过两种方式存储 C:
- 微可以存储
two byte
代表C的整体 - micro可以将BC存储为有
one byte
符号整数,以后可以从B和BC推导出C
我认为负数的二进制补码表示现在已被硬件制造商普遍接受。我个人仍然不喜欢将负数存储在将由两种不同架构访问的存储介质中,因为负数可以用不同的方式表示。供您参考,431 还使用二进制补码。
我是否应该摆脱负数可以以不同方式表示的头痛并接受one byte
我的其他团队成员建议的解决方案?或者我应该坚持two byte
解决方案的决定,因为我不需要处理负数?你更喜欢哪一个,为什么?