【研究一个数各个位上的数字的方法】

本文探讨了使用取模运算(如十进制的%10)来研究不同进制数的每一位的方法,指出该方法不仅适用于十进制,也适用于二进制和其他进制。通过举例说明,阐述了如何通过%2、按位与(&)和左移操作符(>>)来分析二进制数的每一位。此外,还提到了计数器在计算数字中1的个数等场景的应用。文章揭示了位操作在计算机科学中的普遍性和实用性。
摘要由CSDN通过智能技术生成

对于一个十进制,如果要研究各个位上的数字,可以采用%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

                           

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值