【发布时间】:2011-09-15 03:13:35
【问题描述】:
我必须翻转整数二进制表示中的所有位。给定:
10101
输出应该是
01010
当与整数一起使用时,完成此操作的位运算符是什么?例如,如果我正在编写像int flipBits(int n); 这样的方法,那么主体中会包含什么?我只需要翻转数字中已经存在的内容,而不是整数中的所有 32 位。
【问题讨论】:
-
OP 的意思是“我只需要翻转数字中已经存在的内容,而不是整数中的所有 32 位。”?如果数字是“000101”,他期望“111010”还是“000”,因为它后面跟着“010”,因为第一个从第3个LSB开始?无论哪种方式,它都与之前的陈述“我必须翻转所有位”不一致。
标签: java binary bit-manipulation bit bitwise-operators