如何在汇编中使用异或操作翻转一个数中的“n”个低位/高位?
如何计算掩码?例如,如果n=2,对于“1110”,掩码将是“1100”,对于较高的2,掩码将是“1100”,对于较低的2,掩码将是“0011”,然而对于“111111”,掩码将是“110000”,对于较高的2,掩码将是“110000”。而“000011”表示低两个。那么n=2和这些掩码之间的相关性是什么呢?我怎么能只根据需要翻转的位数而不是根据实际翻转的位数来创建它们呢?(假设我们事先不知道号码)先谢谢你了!
我试着找到我正在使用的数字的位数,我相信已经设法做到了,但仍然找不到相关性。
1条答案
按热度按时间oknwwptz1#
我认为,给定数字中的位数,您可以通过使用位移位操作来确定应该使用的掩码。
如果你想翻转最高的n位,你需要做如下的事情