二进制整数

  • 源码/反码/补码
  • 与10进制的转换
  • 八进制与十六进制
  • 位运算
  • big/little endian

二进制

人为什么要用十进制,大概是因为人有十根手指,而计算机使用二制则是因为计算机最开始只能认识高电平和低电平的不连续电信号转化成01010。
10进制和2进制表数的共通点: 都有一个基数Radix. 10进制的基数是10,2进制是2。 基数排序。

进制转换

反转

二进制转换10
00010010 转10 = 12的4次方 + 12的1次方 = 18
八进制转10
047 -> 二进制系列 - 图1
十六进制转10
0xAF -> 二进制系列 - 图2

正转

10进制转2进制:不断商2取余

需要记住2的10次方以内的10进制值 :
00000001 = 1
00000010 = 2
00000100 = 4
00001000 = 8, 3
00010000 = 16 , 4
00100000 = 32 , 5
01000000 = 64 , 6
10000000 = 128,7
00000001 00000000 = 256,8
00000010 00000000 = 512,9
00000100 00000000 = 1024,10

求114的2进制数: 114 = 64+32 + 16 + 2 = 01110010
153 =128 + 16 + 8 + 1 = 10011001

原码/反码/补码

对于二进制114来说, 01110010 是它的原码,
反码则是把0和1取反,比如114对应的二进制数01110010的反码是10001101=137
补码则是取反后+1,比如114取反是137 +1 = 10001110 = 138 正数的补码就是它自己,负数

二进制小数 (仅做了解)

  • IEEE754