不知道哪辈子的笔记。。。
计算机的存储单位:
位(bit) 是计算机存储的最小单位,要么是0,要么是1。
字节(Byte) 由8位组成,是计算机存储的基本单位,可以表示0~255之间的任何数。
字与字长 可以是16位,32位,64位。
单位转换:
1B = 8bit。1KB = 1024B。1MB = 1024KB = 1024*1024B。
1GB = 1024MB = 1024*1024KB = 1024*1024*1024B。
ASCLL码(美国信息交换标准代码):
7位:可表示128个字符;
8位:可表示256个字符;
‘A’= 65 ‘0’ = 48 ‘a’= 97
格雷码:
特点:在相邻的两个数(格雷码)之间只有一位不同。
二进制码转格雷码:
1.保留最高位(或最低位,取决于如何定义)。
2.计算后续位:是前一位格雷码与当前二进制码的异或结果。
原码,反码,补码:
1.原码:
正数原码与其二进制表示相同;
负数的原码与其绝对值二进制表示基本相同,但是最高位设置为1。
2. 反码:
正数反码与其原码相同;
负数的反码是其原码最高位不变,其余各位取反。
3. 补码:
正数的补码与其原码相同;
负数的补码是在其反码的基础上加1。
位运算:
与运算(&):当两个数的对应位都为1,结果才为1,否则为0;
或运算(|):两个数的对应位只要有一位为1,结果就为1,否则为0。
异或运算(^):当两个数的对应位不同时,值为1,否则为0。
按位取反(~):0变1 , 1变0;
左移(<<)和右移(>>):
左移多少,就是乘2的几次幂;右移多少,就是除以2的几次幂(向下取整)。
N进制转十进制:
将其按权重乘对应位上的数,再相加(注意,十六进制有字母表示)。
十进制转N进制:
简单粗暴用短除法(虽然麻烦但是好用)。
二进制转N进制:
1.二进制转八进制:将二进制数按照每3位分组,然后转换为对应的1个八进制数,最后将8进制连起来得到结果。
2.二进制转十六进制:与二进制转八进制类似,先将二进制数按照每4位分组,然后转换为对应的1个十六进制数,最后将十六进制连起来得到结果。
小数N进制转十进制:
将其按权重乘对应位上的数,再相加(注意,十六进制有字母表示)。
小数点前后可以分开算。
小数十进制转N进制:
不断乘2,每次取整数部分,最后从上向下