c语言的十进制数转换成二进制的数?

如题所述

先说为什么不能交换。10进制转换为2进制,短除法。
假如输入一个数n,我们第一步应该用n除以2,取模。在用第一步的商,作为除数,除以2,再取它的模,依次下去。
因为总共取了i次模,所以是j=i-1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-05
j=i-1是因为你上面的循环内a[i]赋值后i++才判断循环是否结束,故循环结束时i是多加了1的,所以赋值给j时得减1.

a[i]=n%2;
n=n/2;换了位置的话输出就是少了一位。n=n/2;是改变了n的值的,开始还没有提取出一位就改变n的值,显然是错误的!
第2个回答  2020-04-29
因为是程序!每一步都很重要!你的这个是把十进制数转换为二进制程序!如果调换位置程序会无法运行!或者得不到预期结果!本回答被提问者采纳
第3个回答  2021-03-31

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网