Binary 十六进制逐位运算

Binary 十六进制逐位运算,binary,bit-manipulation,endianness,hex,Binary,Bit Manipulation,Endianness,Hex,我正在读关于大和小的非常有趣的课。一个伪代码示例解释了如何将longInt(4字节)从big-endian转换为little-endian或相反的东西 Function Reverse (N:LongInt) : LongInt ; Var B0, B1, B2, B3 : Byte ; Begin B0 := (N AND $000000FF) SHR 0 ; B1 := (N AND $0000FF00) SHR 8 ; B2 := (N

我正在读关于大和小的非常有趣的课。一个伪代码示例解释了如何将longInt(4字节)从big-endian转换为little-endian或相反的东西

    Function Reverse (N:LongInt) : LongInt ;
     Var B0, B1, B2, B3 : Byte ;
    Begin
    B0 := (N AND $000000FF) SHR  0 ;
    B1 := (N AND $0000FF00) SHR  8 ;
    B2 := (N AND $00FF0000) SHR 16 ;
    B3 := (N AND $FF000000) SHR 24 ;
    Reverse := (B0 SHL 24) OR (B1 SHL 16) OR (B2 SHL 8) OR (B3 SHL 0) ;
    End ;
代码是这样的,我对第一行的十六进制表示法遇到了麻烦。他们如何通过这样做来提取这里的第一个字节

B0 := (N AND $000000FF) SHR  0 ;
??什么是手术

 N AND $000000FF
是吗

我知道二进制表示法的作用,但是十六进制表示法呢?接下来的几行同样让我感到惊讶


感谢和问候。

一个十六进制数字相当于4个连续的二进制数字,例如
C
1100
。按位操作对等价的二进制表示进行操作