首先,据我所知,C语言里是没有B100这种表示二进制字面量的写法的。所谓“二进制”,只是对数字的一种表示方法而已,同一个数,可以用二进制表示,也可以用十进制,十六进制等其他方式表示。回到你的问题:二进制的100就是8,所以加1变成9,而9的二进制就是101了。
-~n
位运算即可。
具体参考:http://blog.csdn.net/laojiu_/...