Skip to content

Latest commit

 

History

History
62 lines (37 loc) · 1.25 KB

2.1.md

File metadata and controls

62 lines (37 loc) · 1.25 KB

信息存储

寻址

  • 计算机系统中信息一般是以字节(byte)为单位存储和寻址的,一个字节为8位,表示数值范围为 : 0x00 ~ 0xFF
  • 地址一般32位或64位,32位地址的空间为 2^32 约 4GB, 64位地址的空间为 2^64 约 18EB

字节序

当多个字节表示一个信息时, 比如 int 由 4个字节 表示, 会出现一个问题 : 4个字节按照什么样的顺序存储?

假设 int 值 0x12345678 , 占用地址 100 101 102 103

# 大端
addr 100    101    102    103
    ┌───────────────────────────┐
    │  12  │  34  │  56  │  78  │
    └───────────────────────────┘

# 小端
addr 100    101    102    103
    ┌───────────────────────────┐
    │  78  │  56  │  34  │  12  │
    └───────────────────────────┘

位运算

  • & : AND

  • | : OR

  • ~ : NOT

  • ^ : EXCLUSIVE-OR

1 ^ 1 = 0

0 ^ 0 = 0

1 ^ 0 = 1

  • "<<" : 算数左移

补0

  • ">>" : 算数右移

补最高有效位

  • ">>>" : 逻辑右移

补0

逻辑运算

  • && : AND

  • || : OR

  • ! : NOT