常见进制(二进制、八进制、十进制、十六进制)
进制实际上就是逢几进几,俗话说就是几进制就不会出现几,计算机底层则是根据二进制进行计算的
二进制(0-9)
0 1
10 11
100 101
110 111
1000 1001
逢二进一,其实也可以自己去定义进制,0 1 2 d a f 9 j这也可以看做是八进制 那第九个数就是10 人类从小的固有思维就是十进制,因为人的手指头就有十个,为了计数方便,也就以十进制进行计算,我们需要打破我们的固有思维
无论是什么进制,都是有一套计算的规则的;计算的本质是查数
原码反码补码
原码,反码,补码的产生过程,就是为了解决,计算机做减法和引入符号位(正号和负号)的问题。
源码:最高位符号位,‘1表示负数,0表示正数’
原码最大的问题就是一个数加上他的相反数不等于零,于是引进了反码
反码:
1、正数:反码和原码相同
2、负数:符号位一定是一,其余为对原码取反
补码:
1、正数:补码和源码相同
2、负数:符号位一定是一,其余为对原码取反并反码加一
负数的补码等于反码加一
测试
1的原码反码补码
原码: 0 0 0 0 0 0 0 1
反码: 0 0 0 0 0 0 0 1
补码: 0 0 0 0 0 0 0 1
-7的原码反码补码
原码:1 0 0 0 0 1 1 1
反码:1 1 1 1 1 0 0 0
补码:1 1 1 1 1 0 0 1
与、或、非、异或、位运算
1、与:and都为一结果才为一
2、或:or有一个为一结果就为一
3、非:xor一为零,零为一
4、异或:相同为零,不同为一
5、位运算:位运算对数字的乘除效果最快,效率最高
0000 0001>>向左移位为:000 00010 左移乘法<<
0000 0010>>向右移位为:00000 001 右移除法>>