对于一个十进制,如果要研究各个位上的数字,可以采用%10的方法
例如:求一个十进制数各位之和,积
123
1:123%10 = 3得到个位
2:123/10 = 12
12%10 = 2得到十位
3:12/10=1
1%10 = 1得到个位
刚开始以为这种方法只适用于十进制数,直到今天在课堂上看到老师将这种方法用于研究二进制的每一位数,我才恍然大悟,之前确实是自己太局限了,十进制数%10,二进制数%2以此类推的话,这种方法是可以用于研究任何进制数的每一位,8进制数%8,16进制数%16......当然这只是猜想,实际上电脑上显示是显示10进制数,电脑内存中是二进制数,可行性以我目前的水平无法判断,而且现实意义也不大,所以我就先不在这个问题上面深究了。
对于二进制每一位数的研究,除了%2还可以用按位与(&)和左移操作符(>>),左移操作符可以让我们研究二进制的每一位,与1进行按位与可以判断1和0。
计数器count 也是我们常用的方法,模拟实现求字符串长度,一个二进制数有多少个1,以及其他需要计数的实际问题。
对于二进制每一位数的研究这里还有第三种方法,重复进行减法和按位与,有几个1重复几次,从末位开始重复一次将一个1变为0,最终n所有位数都变为0