将二进制数拆分成数字

时间:2014-10-23 17:51:04

标签: c split

我知道要获得整数的最后一位数,你可以这样做:

printf("%d\n", 1105 % 10); //It will print 5

现在,我可以用二进制数做同样的事情吗?

printf("%d\n", 0101 % 10); //This will print 5 as well

1 个答案:

答案 0 :(得分:5)

使用%2
二进制数的最低有效位的值为1,因此模2是正确的选择。

但为什么将0101解释为二进制数? 正如ooga指出的那样,前导零使编译器将您的数字解释为八进制数。前导1将被解释为十进制。

毕竟,%2会给你1或0(即二进制数字的最低有效位 - 无论你的输入是二进制,八进制,十进制还是其他)。