想请教高手下面程序m&-m这是什么意思啊~貌似还有">>"这个也是与求2进制...

发布网友 发布时间:2024-10-23 17:32

我来回答

2个回答

热心网友 时间:8分钟前

n=m&-m;//这个表示m的二进制表示的补码同-m二进制的补码相"与",计算机中的数值都是用补码表示
比如输入的值为24
他的二进制是00011000补码也是00011000
-24的二进制表示为10011000,它的补码为他的反码加1变为11101000
然后00011000&11101000就变为00001000转换为10进制就是数值8

>>这个符号表示二进制是时候是右移,对于26来说26>>1,表示26右移一位,变为00001100转换成十进制的为12. 右移的话是8进制都向右移动一位,高位补0,对于负数来数,高位是符号位不变,其他位向右移动

热心网友 时间:8分钟前

cin,m分别代表什么?
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com