二进制1个数c++

二进制1个数
无符号右移

在计算机中,整数采用补码表示。当前主流编译器中整型在内存中占用四个字节,共32位
原码:第一位为符号位,其余位表示数值,如-1的原码:1,000…0001(两个1之间32个0)。
反码:正数的补码就是其原码;负数的反码为符号位不变,数值位按位取反。如-1的补码为1,111…1110。
补码:正数的补码就是其原码。负数的补码为=反码+1。因此,-1的补码为1,111…111。
因此,unsigned(-1)=1,111…111(共32个1)。表示unsigned的最大值
后移32次
二进制1个数c++也可以左移
二进制1个数c++
一个整数和它减去1的结果做位与运算,相当于把它最右边的1变成0二进制1个数c++