求的几进制的计算方法

进制的习题的解法
以下“ ^ ”为次方的意思(不是按位异或), “ * ” 为乘法的意思。
要计算是几进制,首先要得到一个算数式
例:
已知给出十进制145
145是十进制的数按权展开可以写成
1 * 10^2+4 * 10 ^ 1 + 5 * 10 ^ 0
已知给出十六进制数0x56
按权展开可以写成
5 * 16^1+6 * 16 ^0
可以发现给出一个是几进制的数都可以按权展开
已知计算:
567*456=150216 求是几进制?
a.9 b.10 c.12 d.18
首先不知道它是几进制的数,先设为n进制则可以得到以下的式子:
(5n^2+6n ^1+7 n ^0) * (4n^2+5n ^1+6n ^0)=(n ^ 5+5n ^4+2n ^2+n ^1+6n ^0)
把他们全部展开
20n^4+49n ^3+88n ^2+71n+42=n ^5+5n ^4+2n ^2+n+6 (1)
得到这个式子式无法求解的,还需要其他的表达式所以想办法简化式子
即全部对n取余,只要是n的倍数,对n取余都为0;为了消去高次项
给每一项都%n得到:
42%n=6%n
再看150216的最后为6,所以它最后一位余6,那么n肯定大于6
ps:
(例十进制数相乘16 * 2=32
已知16 * 2先算个位,即先算6 * 2=12,即满10进1(因为它是十进制)余2,
所以10肯定大于2;同理567的个位7乘以456的个位6,即6 * 7=42,如果是十进制的话,进4余2;很显然b排除;)
相同原理余150216最后一位为6,即余6,所以n肯定大于6;
所以 6%n=6,即42%n=6 (2)
得到(2)这个式子代入acd的每一项都余6;都可以,很显然这个式子也不行
还需要另一个式子
两边除以n,再对n取余,同理再次消去高次项;
得到
(71+42/n)%n=(1+6/n)%n
得到化简式后,因为n大于6,所以6/n=0(在计算机中取整)

(71+42/n)%n=1 (3)
然后
再带入acd后,发现18可以。所以结果就选d.18。
通过这个题,可以发现都都是先按权展开后,在进行化简,合并,用数学的计算方法来计算,然后再得到化简式,然后再验证每一项。过程一般,就是在得到新式子时,有点不好解决,这就看数学功底好不好了。ps:我数学不行^ _ ^…

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值