位移操作 ,位运算

58 阅读1分钟

✅ 首先明确几个概念:

1. 位移操作(右移 / 左移)

  • 只影响数值的二进制表示位数
  • 跟大小端无关
操作作用
<<(左移)把低位推向高位,右边补 0
>>(有符号右移)把高位推向低位,左边补符号位
>>>(无符号右移)把高位推向低位,左边补 0

一、小端 / 大端的定义

以一个 32 位整数 0x12345678 为例:

  • 大端模式(Big Endian) :高字节存在低地址
    内存排列:[0x12, 0x34, 0x56, 0x78]
  • 小端模式(Little Endian) :低字节存在低地址
    内存排列:[0x78, 0x56, 0x34, 0x12]

二、位运算的用途

位运算主要是用来提取、拼接或修改某些位,和是否小端/大端没直接关系:

  • &(按位与):用于提取某些位
    例:value & 0xFF 提取最低 8 位
  • |(按位或):用于合并/设置某些位
    例:byte0 | (byte1 << 8) 把两个字节拼成一个 16 位整数