在ARMv7-M处理器中,Byte对应8bits,Halfword对应16bits, Word对应32bits。
而在展示中,我们通常会使用一位来表示4bits,也就是
1 nibble = 4 bits
如下图,一个寄存器中包含8 nibbles,也就是32bits。
关于负数,我们通常会基于two's complement的模式进行数字的表达。
步骤如下:
针对正整数18
1. 转换为二进制,对应为0001 0010
2. 因为是正数,所以最后的表达就是0001 0010
针对负数 -18
1. 正数对应的表达是0001 0010
2. 负数对应的表达是首先反转,1110 1101
3. +1得到 1110 1101
+ 1
= 1110 1110
.
所以,-18的表达就是1110 1110。
而之所以two's complement 能够进行数字的表达,就是巧妙的利用了overflow的原理,如下图。
参考链接