确定最小寄存器大小

时间:2014-03-22 11:14:37

标签: embedded bit cpu-registers signed

我实际上是嵌入式系统的新手。我有一个关于确定存储特定值的最小寄存器大小的问题。这是一个问题:

  1. 为什么需要至少8位寄存器大小才能存储0xFFFFFFF1(有符号数字)
  2. 为什么需要至少16位寄存器大小才能存储0b010010110111(带符号数字)

1 个答案:

答案 0 :(得分:0)

听起来这个练习是为了让你了解符号位在有符号数字的位置或者符号位的位置,因为它们的符号永远延伸。正数将具有无限数量的0和负数无限数量的1。只要你有至少一个你可以代表那个数字,所以你的第一个是1111 .... 1110001符号位从第4位开始,所以它只需要一个5位寄存器来保存该数字。你的第二个例子0b010010110111我们必须假设msbit那里有符号扩展,在这种情况下,第11位表示符号,所以你至少需要一个12位寄存器。现在,如果你的处理器没有5位,那么下一个大小是最小值(8?)。如果您的处理器没有12位寄存器,则下一个大小为16。