编写一个程序,要求用户输入一个十进制正整数,然后分别转换成为二进制数、八进制数和十六进制数输出。 程序运行结果如下(输出依次为二进制、八进制和十六进制数):输入: 16
输出:
10000
20
10
语言(C++)
是C++的语言啊!比如:
#include<iostream>
using namespace std;
int main()
{
}
本人才学c++,望得到各位帮助!
能对执行语句或者特殊函数进行解释吗?谢谢
"c+=(b%2)*d;//依次把b除以2的余数写在c的对应位置上"这句话是怎么做到将每位数字存进去的?因为里面的“c+=”?
追答拿个例子来说明吧。比如用户输入5
那么一开始
b=5,c=0,d=1
b%2=1,那么应该把1写入c的个位,c+=1*d,c就变成了1,其中d就是控制加在哪一位的。
然后,得到了
b=2,c=1,d=10
b%2=0,那么应该把0写入c的十位,注意到这时d已经变成10了,所以还是可以用c+=0*d来计算
然后,就得到了
b=1,c=01(实际上还是1,只不过程序员自己内心清楚已经计算了十位了),d=100
b%2=1,应该写入百位,此时d=100,就应该是c+=1*d
这样讲应该清楚了吧?