假设我有一个整数 int a
在 c++ 中,由于这int使用 4 个字节(32 位)的内存,因此所有位都将被1's 或0's占用。所以,我希望翻转每一位的值。也就是说,只要在每一位有1它转换为0和0到1。
有没有简单的方法来解决这个问题?
编辑:我也想玩布尔代数。也就是说,如果我可以执行基本的布尔运算,如加法、减法等。
您正在寻找二进制非运算符 (~)。
所以
int a = 0x04;
int b = ~a;
Run Code Online (Sandbox Code Playgroud)
的值为b1111 1111 1111 1011,而 的值为a0000 0000 0000 0100。