二进制

  1. 因为在集成电路中只有0V和5V两种状态,所以计算机中使用的是二进制,使用二进制可以更好的控制电脑的集成电路。
  2. 二进制可以表达的含义:小数、字符、图书、数值、音频、视频。
  3. 二进制和十进制:
二进制 十进制 二进制 十进制
0000 0 1000 8
0001 1 1001 9
0010 2 1010 10
0011 3 1011 11
0100 4 1100 12
0101 5 1101 13
0110 6 1110 14
0111 7 1111 15
  1. 二进制的运算:
    运算符 运算 范例
    << 左移 3 << 2 = 12 --> 322=12
    >> 右移 3 >> 1 = 1 --> 3/2=1
    >>> 无符号右移 3 >>> 1 = 1 --> 3/2=1
    & 与运算 6 & 3 = 2
    | 或运算 6 | 3 = 7
    ^ 异或运算 6 ^ 3 = 5
    ~ 反码 ~6 = -7
  2. 二进制中最高位为符号位,0表示为正数,1表示为负数。
  3. 二进制中的原码、反码、补码
    对于有符号数而言:
    (1)二进制的最高位是符号位:0表示正数,1表示负数
    (2)正数的原码、反码、补码都一样;
    (3)负数的反码 = 它的原码符号位不变,其他位取反(0 ->1 ; 1->0 );
    (4)负数的补码 = 它的反码 +1;
    (5)0的反码、补码都是0;
    (6)在计算机运算的时候,都是以补码的方式来运算的;
    例:~6 = -7的运算过程
    第一步:把6的补码找出来,由于正数的原码,反码和补码都是一样的,所以6的原码就是它的补码。
    6的补码:
    00000000 00000000 00000000 00000110
    6取反(~6):
    11111111 11111111 11111111 11111001
    所得~6即就是结果的补码,由于负数的补码=反码+1,而且反码是除过符号位之外,其余各位均反。所以所得结果必然是一个负数。
    ~6-1:
    11111111 11111111 11111111 11111000
    除符号位之外逐位取反:
    10000000 00000000 00000000 00000111
    则所得结果是-7
    即~6 = -7
  4. 0没有补码。所以有符号整数负数位比正数位大1。即4位二进制时,全部表示正数时是0~15;表示负数时是-8 ~ 7。
  5. 二进制左移n位,就是将原数扩大2^n倍;二进制右移(算数右移)n位,正数高位补0,负数高位补1,也就是将原数缩小2 ^n倍;二进制无符号右移(逻辑右移)n位,高位用0补位,计算即可。
  6. A^B = C,C ^B = A。即同一个数异或另一个数两次仍是这个数。
  7. 计算机中以IEEE的格式存储浮点数。