二进制数n除以二进制数m的二进制余数是多少?(C++)

将一个数转化为二进制数

例如将230转换为二进制

我自己想了下,可以试着这么写:
若X是待转换的数,N是要转换成的进制,a0,a1...am是转换后的系数,那么:

于是就是按N进制权值展开的标准形式了.这个N进制数即是:am...a2a1a0.

通过观察式(1)可以知道a0,a1,...am这些系数是怎么得来的.
所以式(1)是让X按照除N取余层层展开的,这之所以这么写是因为从这个式子中我们可以清楚的看到转换过程中的系数与最终结果系数的对应关系,我认为他是一个确定的关系.但是单纯说除N取余则让人产生迷惑,为什么这么说呢?因为除N取余后的余数该给他赋予多大的权值呢,你怎么就知道他们是按照顺序排列并赋予权值的呢(因为当我们除第一次的时候还不知道后面还可以除多少次).
我不知道这么解释的话是否合适,我想或许还有更好的证明,不过这个暂时也能够说服我了.

我要回帖

更多关于 c语言中0除以2的余数 的文章

 

随机推荐