Skip to content

Latest commit

 

History

History
88 lines (61 loc) · 1.83 KB

File metadata and controls

88 lines (61 loc) · 1.83 KB

真值表

              0                                              
           ↙  ↓  ↘
        &     |     ^
     ↙  ↓    ↙ ↘    ↓  ↘
   0    1   0   1   0   1
   ↓    ↓   ↓   ↓   ↓   ↓
   0    0   0   1   0   1

              1                                              
           ↙  ↓  ↘
        &     |     ^
     ↙  ↓    ↙ ↘    ↓  ↘
   0    1   0   1   0   1
   ↓    ↓   ↓   ↓   ↓   ↓
   0    1   1   1   1   0

    置0:    x &= 0
    置1:    x |= 1
    读:     x &  1
    取反:   x ^= 1

把 i 置零:

i = i or i
xor    %ax,%ax // 汇编常用到

运算技巧

从 1 开始,每次向左移 10 位,都是 2 的整10倍次方.

lg(10n) = n

1 << n = 2n, n>0

1 << 10n = 210n

#define LOG2ENV = 10 // 1010

异或

与 1 异或则取反,与 0 异或则不变.

用途:

  1. 特定位反转-与指定为为 1 的二进制串异或
  2. 置 0: 与本身异或, 把所有的 1 取反了.

常见移位

  • 16 << 20 // 16M
  • 1 << 20 // 1M
  • 1M = 1K * 1K = 210*210=220

十六-十进制常用数字

十六进制 十进制
0x00000010 Byte 16KB
0x00001000 Byte 4KB
0x00100000 Byte 1MB
0x01000000 Byte 16MB
0x08000000 Byte 128MB(qemu 默认)
0x10000000 Byte 256MB
0x40000000 Byte 1GB
0x80000000 Byte 2GB
0xFFFFFFFF Byte 4GB-1B

计量单位

在计算机科学中,GB通常实际上值得是GiB.

  • GB意思是G个** byte**
  • Gb意思是G个** bit**

通常所说的都是GB.

只需记住,数学上 M是兆,G是千兆,即 1 000 000 000 = 109 = 10003, 而 1000 近似 1024 即 210, 那么 在计算机概念中,1G =210·3 = 230, 所以 4GB = 232byte.