计算机实现加法
计算机能做的运算称为位运算,即直接对0和1做运算
有些计算机功能必须通过位运算才能实现:比如写调试器,判断CPU的各种状态位
位运算主要有
1.与(&)1&1=1
2.或(|)0|1=1
3.异或(^)0^1=1 1^0=1 0^0=0 1^1=0
4.非(~)~0=1 ~1=0
5.左移:各二进制位全部左移若干位,高位丢弃,低位补0
shl(汇编) <<(c语言)
6.右移:各二进制位全部右移若干位,低位丢弃,高位补0或者补符号位
shr(汇编高位补0) sar(汇编高位补符号位) >>(c语言)(c语言中需要在右移操作之前界定被右移数的无符号数还是有符号数)
用位运算实现加减乘除
加:1.异或(异或是没有进位的加法)
2.与(判断有没有进位)
3.异或(有进位,则将与的结果左移一位,与上一个异或结果进行异或)
4.与(在判断是否有进位)
5.直到没有进位为止
减:1.非(相当于加一个负数)
2.其余与加相同
乘:重复加运算
除:重复减运算
posted on 2020-02-14 23:26 没有感情的rainbow 阅读(653) 评论(0) 收藏 举报
浙公网安备 33010602011771号