我知道要获得整数的最后一位数,你可以这样做:
printf("%d\n", 1105 % 10); //It will print 5
现在,我可以用二进制数做同样的事情吗?
printf("%d\n", 0101 % 10); //This will print 5 as well
答案 0 :(得分:5)
使用%2
。
二进制数的最低有效位的值为1,因此模2是正确的选择。
但为什么将0101解释为二进制数? 正如ooga指出的那样,前导零使编译器将您的数字解释为八进制数。前导1将被解释为十进制。
毕竟,%2会给你1或0(即二进制数字的最低有效位 - 无论你的输入是二进制,八进制,十进制还是其他)。