首页 > 编程知识 正文

异或实现加法,c语言中的非

时间:2023-05-04 23:16:53 阅读:18808 作者:4543

第一次遇到异或的时候非常无知。 这是什么?

异或涉及二进制数。 有一点二进制基础的学生请继续看。 请先记住没有基础的互补二进制数。

0^0=0

0^1=1

1^0=1

1^1=0

举起板栗!

int x=4,y=5,z; z=x^y; z=? 的二进制数为100,5的二进制数为101

100

101

这两个数字,上下各看一个,看上边的红色字体。 结果是二进制数001,十进制数为1,因此z=1

如果二进制位数不对应呢?

举起板栗!

int x=2,y=5,z; z=x^y; z=? 的二进制数为10,5的二进制数为101,需要进行这样的转换。 把数字少的一方放在后面。

10

101

这两个数字在上下比较1对1的结果是,二进制111,十进制是7,所以z=7

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。