ARM 运算中的MSB(最高有效位)

ARM 运算中的MSB(最高有效位)

在ARM架构(以及所有二进制计算系统)中,MSBMost Significant Bit 的缩写,中文通常译为 最高有效位

它指的是一个二进制数中权重最大的那一位,也就是位于最左边的位。

核心要点详解:

  1. 位置与权重

    • 对于一个N位的二进制数(例如32位的ARM寄存器),其位的编号通常从右到左为0到N-1。
    • LSBBit 0 ,是最右边的位,权重为 2⁰ = 1,即最低有效位
    • MSBBit N-1 ,是最左边的位。对于一个32位数,MSB是 Bit 31,权重为 2³¹。
  2. 在ARM运算中的关键作用

    MSB远不止是一个位置标识,它在运算和数据处理中扮演着至关重要的角色:

    • 符号判断(有符号数)

      • 有符号整数 的补码表示中,MSB专门用作符号位
      • MSB = 0 :表示该数为正数或零
      • MSB = 1 :表示该数为负数
      • 例如,0b1000 0001(作为8位有符号数)的MSB是1,因此它表示负数 -127。
    • 溢出检测

      • 在进行算术运算(如加法、减法)时,处理器会检查MSB的变化来判断是否发生溢出。
      • 有符号溢出:当两个正数相加结果MSB变为1(看起来像负数),或两个负数相加结果MSB变为0(看起来像正数)时发生。
      • ARM的程序状态寄存器 中的 V(溢出)标志位 就是基于MSB等位的运算结果来设置的。
    • 移位与扩展操作

      • 算术右移 :当指令将数值向右移位时,空出的左边位会用MSB的原始值来填充,目的是保持有符号数的符号不变。
      • 符号扩展 :将一个较短位宽的有符号数(如16位)扩展到更长位宽(如32位)时,所有新扩展的高位都填充原数的MSB值
    • 大小端序

      • 在内存存取中,MSB的概念与字节顺序相关。在大端序中,数据的MSB存储在最低的内存地址;在小端序(ARM常用模式)中,数据的LSB存储在最低的内存地址。
    • 比较与条件判断

      • 比较两个有符号数的大小时,本质上是比较它们MSB所代表的符号以及其后的数值部分。

举例说明(8位数):

取一个8位二进制数:0b1011 0010

  • MSB :最左边的 1(Bit 7)。
  • LSB :最右边的 0(Bit 0)。
Bit 7 (MSB) Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 (LSB)
1 0 1 1 0 0 1 0

作为无符号数 :它的值是 2⁷ + 2⁵ + 2⁴ + 2¹ = 178
作为有符号数 :MSB=1,所以它是负数。需要取反加一得到其绝对值,值为 -78

注意与CPSR中MSB的区别

在ARM的当前程序状态寄存器 中,也有一组被称为"标志位"的MSB,它们特指NZCV四个条件标志位的最高位(例如,N标志位于Bit 31)。但更常见、更通用的"MSB"概念是指一个数据字本身的最高位,而非CPSR的位。

总结

在ARM运算中,MSB(最高有效位) 是理解有符号数表示、溢出、移位操作和比较逻辑的基石。它不仅标志着数值中权重最大的位,更是符号信息的承载者和多种运算状态的关键判断依据。

相关推荐
somi73 分钟前
ARM-04-驱动-Misc ,Platform ,DTS
arm开发·单片机·嵌入式硬件·自用
fenglllle14 小时前
使用AI能力编译ARM版本的截图软件
arm开发·人工智能
somi72 天前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
XINVRY-FPGA2 天前
XC7VX690T-2FFG1157I Xilinx AMD Virtex-7 FPGA
arm开发·人工智能·嵌入式硬件·深度学习·fpga开发·硬件工程·fpga
cpp_learners2 天前
Linux ARM架构 使用 linuxdeployqt 打包QT程序
linux·arm开发·qt
森G2 天前
3.1、移植Qt程序到ARM平台----移植Qt程序到ARM平台(扩展)
arm开发·c++·qt
炭烤毛蛋2 天前
rk3588 适配音频解码芯片 es8388
arm开发·音视频·rk3588·es8388
路溪非溪2 天前
Linux中Netlink简介和使用总结
linux·网络·arm开发·驱动开发
Bohemian—Rhapsody2 天前
麒麟v10-arm架构部署rabbitmq
arm开发·架构·rabbitmq
古译汉书2 天前
【IoT死磕系列】Day 9:架构一台“自动驾驶物流车”,看8种协议如何协同作战
网络·arm开发·单片机·物联网·tcp/ip·架构·自动驾驶