“清除整数的第6位”的最佳方法是什么?
并且,您的解决方案平台是独立的吗? (32或64位整数等)。如果没有,你能提供一个独立于平台的解决方案吗?
更新:我们不知道该位是否已设置或未设置...也是,任何语言都可以...我知道一个独立于平台的解决方案需要2个操作员......可能有各种方法或更简单的解决方案。
更新:更清楚:清除整数的第6个最低位。
答案 0 :(得分:10)
x & (~(1 << 6))
答案 1 :(得分:5)
x&= ~(1 << 5)
答案 2 :(得分:0)
也许这在c?
value&~(1<<6)
答案 3 :(得分:-2)
如果你确定它已经设定,只需减去64。
更新:添加测试
if((x % 128) / 64 > 0)
x -= 64;
据我现在所知,这并不是对平台或语言支持做出任何假设。