数据是用二进制表示的
2.4便于计算机处理的“补数”
二进制中表示负数值时,最高位作为符号位,0正,1负。-1用8位二进制表示是11111111,而不是00000001。补数原理是,1+(-1)= 0,求-1的二进制,就是对1取反,
00000001变成11111110,然后+1,就是11111111。通过 1+ (-1) = 0 验证,最高位溢出被忽略,结果就是0。
2.5逻辑右移和算是右移的区别
算数右移,最高位补位区分0,1,逻辑右移则是直接补0。而不管是逻辑还是算数左移,低位都是补0。符号扩充,只需将高位用符号位填满。
2.6逻辑运算
非(NOT),或(OR),与(AND),异或(XOR)。异或是指,同位上相同为0,不同为1。
计算机进行小数运算时出错原因
二进制,八进制,16进制,最简单的理解就是按十进制的规则来,不管是几进制规则都是一样,只是基数不同而已。
双精度浮点数,1位符号,11位指数,52位尾数部分。共64位。单精度浮点数,1位符号位,8位指数,23位尾数,共32位。
4.1 数组是高效使用内存的基础,栈,队列,环状缓存区,链表都是对数组的操作。
5.节约内存的2个方法,一个是.dll文件实现函数共有,一个是C中调用_stdcall定义函数,这是为了节约栈的空间
一簇= 512字节=一扇区,磁盘越大一簇也会越大。
6.文件的压缩,可逆压缩和非可逆压缩