笔试题判断被5除问题请教
应该不难吧,其实左移一位,低位补0,应该很容易做,被5整除就是按照特征,判断低3位是否为0或者5就可以了,电路设计思路也就出来了
楼上说的没错!
2# amin2008
俺的思路也是这样,呵呵
谢谢。
不是这么简单的吧。简单把0-40被5整除的二进制写一些,就知道没什么特别规律。
:victory::victory::victory:
思考中
判断低3位是否为0或者5,不是这样简单吧,比如15(1111)低三位就不是0或5,思考中。
haohaohoa
先把二进制代码转换成BCD码(bin to bcd),再判断BCD码个位是否为0或5(全零除外)。
我也没怎么仔细想,希望大家可以想出更好的方法。
直接除以5,取模不行么?
移位的话,不是用移位减来实现除法吧?我好像只能想到这种最笨的办法了。
应该要用到移位寄存器的特点
移位减来实现除法,这种方法好像行
只要單數位元沒有1就可以整除
有点意思啊
好久的帖子都被顶起来的,其实转换成十六进制,各个位的数加起来,只要能被5整除,那么这个十六进制数就能被5整除。
看最低三位严重不对,这个问题还是有点难度的,考虑每一位的权重,利用余数跳转状态机可以实现
向各位学习。
既然是先向左移1位舍掉最高 那么低位补0 再判断是否是5的倍数
转换为10进制后能被整除的个位为0或5
而低位补的为0 那么个位不可能为5
只能为0了
呵呵,学习了
还有没有其他好方法?
....................
你要加强学习
有很多种方法,有“笨”方法,也有巧方法,如17楼的方法。很有意思的题目。
17楼的高段,分析出了16*16。的结果个位数永远是6,即5余1,学习了
学习了,里面藏了些强人
楼上正解,2进制表示十进制貌似没啥规律,转BCD码之后容易判断多了
