前面我们知道了,计算机如何存储数字(整数),在后面我们还会学习计算机如何存储浮点数,如何存储字母,如何存储汉字等等。
仅仅知道计算机如何存储数字还不够,这节课我们学习计算机如何做运算:
计算机只认识0和1,计算机能做的运算归根结底就是直接对0和1做运算(通常称为位运算),举例来说:
2+3 = ? 2-3 = ? 计算机都是通过位运算实现的!
为什么要学习位运算?
1.有些功能必须通过位运算才能实现:比如写调试器,判断CPU的各种状态位
2.大公司面试题:比如2*8效率最高的实现方式。
非运算,单目运算。
右移高位补符号位,符号位是0就补0,是1就补1。C语言中都是用的 >> ,编译器根据数据类型自动判断。无符号数就补0,有符号负数就补1。
总结:
计算机做的所有的运算,归根结底都是位运算,即计算机只会做位运算。