各种进制转10进制
公式:基数*位数幂+...
基数:10进制 10就是基数,2进制2就是基数
16进制
0xAF
F*16的0次幂+A*16的1次幂
F = 15
A = 10
F+A*16 = 175
10进制
13
3*10的0次幂+1*10的1次幂
3+10 = 13
8进制
047
7*8的0次幂+4*8的1次幂+0*8的2次幂
7+32+0 = 39
2进制
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
6 5 4 1 次幂
64 + 32 + 16 + 2
如果 有1 则第一位就是1 如果没有1 则第一位是0
01110010(8位一个字节)
比如 153
7 4 3 0 次幂
128 + 16 + 8 + 1
如果 有1 则第一位就是1 如果没有1 则第一位是0
10011001
比如 86
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