各种进制转10进制
公式:基数*位数幂 ... 基数:10进制 10就是基数,2进制2就是基数
16进制
代码语言:javascript复制0xAF
F*16的0次幂 A*16的1次幂
F = 15
A = 10
F A*16 = 175
10进制
代码语言:javascript复制13
3*10的0次幂 1*10的1次幂
3 10 = 13
8进制
代码语言:javascript复制047
7*8的0次幂 4*8的1次幂 0*8的2次幂
7 32 0 = 39
2进制
代码语言:javascript复制1010110
0*2的0次幂 1*2的1次幂 1*2的2次幂 0*2的3次幂 1*2的4次幂 0*2的5次幂 1*2的6次幂
0 2 4 0 16 0 64 = 86
10进制转2进制
公式
1.除2求余数法 2.一般简单的2的10次幂数 ---- 2 4 8 16 32 64 128 256 512 1024
比如 114
代码语言:javascript复制6 5 4 1 次幂
64 32 16 2
如果 有1 则第一位就是1 如果没有1 则第一位是0
01110010(8位一个字节)
比如 153
代码语言:javascript复制7 4 3 0 次幂
128 16 8 1
如果 有1 则第一位就是1 如果没有1 则第一位是0
10011001
比如 86
代码语言:javascript复制6 4 2 1
64 16 4 2
如果 有1 则第一位就是1 如果没有1 则第一位是0
01010110
二进制0与二进制负数
- 最高位变成符号位
- 原码、反码、补码
- 1). 原码:是最简单的机器数表示法。用最高位表示符号位,‘1’表示负号,‘0’表示正号。其他位存放该数的二进制的绝对值。
- 2). 反码:正数的反码还是等于原码。负数的反码就是他的原码除符号位外,按位取反。
- 负数用补码表示,10进制 负数转二进制,先求解对应正数,然后符号位定为1,其余位取反 1
- -17转-进制=
- 二进制负数转十进制,符号位不变,其余位取反 1,得到原码
- 11000100转十进制-
- 为什么负数用补码表示?
- 减法可以当做加法来运算
- 0的表述实现统一
二进制逻辑运算
- 与运算
& 遇o则0
- 或运算
| 遇1则1
1-0 0-1
- 异或运算
^ 不进位加(相同为0,相异为1 )
- 右移
>> 补符号位
正整数右移一位 / 2
- 左移
<< 补0
正整数左移一位 * 2
- 无符号右移
>>>补0