我是靠谱客的博主 无私毛豆,最近开发中收集的这篇文章主要介绍常用的逻辑运算及其指令,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. xor亦或运算

只有在两个比较的位不同时其结果是1,否则结果为0
即“两个输入相同时为0,不同则为1”!

0000000011111111111111110101
xor0000000011111111000000000010
结果0000000000000000111111110111

2. and与运算

只有两个位都是1时才为1
即有假(0)即得假(0)

0000000011111111111111110101
and0000000011111111000000000010
结果0000000011111111000000000000

3. or或运算

与and运算相逆,只有两个位为0时才得0
即有真(1)即为真(1)

0000000011111111111111110101
or0000000011111111000000000010
结果0000000011111111111111110111

4. shl逻辑左移,asl算数左移

这两个运算效果相同,向左移位,右边加补0

5. shr逻辑右移

向右做移位运算,左边补零

6. sar算数右移

当操作数为正数时,移位后左边补0
单操作数为负数时,移位后左边补1(与负数在计算机中的表示是补码有关)

7. shr与sar测试

这里写图片描述

测试说明:
  我在测试时拿16和-16当操作数,所有测试数都做了右移1位的运算。上面是操作数,下面是对应的计算结果,计算结果分别用十进制和二进制表示。
  可见对-16逻辑右移之后结果变成了一个非常大的数字,因为最高位补上了0。

最后

以上就是无私毛豆为你收集整理的常用的逻辑运算及其指令的全部内容,希望文章能够帮你解决常用的逻辑运算及其指令所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部