您好、欢迎来到现金彩票网!
当前位置:2019手机棋牌游戏平台 > 位或 >

计算机中请教关于按位与()和按位或()的问题

发布时间:2019-07-10 07:13 来源:未知 编辑:admin

  按位与(&)是当两位同时为1时返回1,按位或()是有一位为1即可返回1。我用两个正数12(最后四位为1100)和5(最后四位为0101)运算完全符合(如:12&5=4,125=13)。但是当有两个...

  按位与(&)是当两位同时为1时返回1,按位或()是有一位为1即可返回1。我用两个正数12(最后四位为1100)和5(最后四位为0101)运算完全符合(如:12&5=4,125=13)。但是当有两个或一个负数,则不符合运算了。请大神帮我解释为何12&-5=8,12-5=-1,-12&-5=-16,-12-5=-1。并告知原理,谢谢

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部&与运算就是表示当2个都为1时得1,比如上面的12和5是1100和0101,12&5运算之后就是0100,相当于十进制的4

  或运算就是表示有一个为1时得1,125运算之后就是1101,相当于十进制的13

  负数不对是因为十进制的负数在二进制中表示为原码取反(反码)+1=补码,所以-5的二进制为1011,-12的二进制为0100,

  好吧,我以1字节为单位,则-5的二进制补码为11111011,-12的为11110100,12的为00001100,那么12-5不应该等于11111111(-127)吗?但是却是等于-1啊,这又是为什么呢?

http://vision-images.com/weihuo/279.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有