作业帮 > 数学 > 作业

输入一个十进制整数,将它对应的二进制数的各位反序,形成新的十进制数输出. 请大神解释一下思路.

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:数学作业 时间:2024/05/15 03:57:21
输入一个十进制整数,将它对应的二进制数的各位反序,形成新的十进制数输出. 请大神解释一下思路.
while(x!=0){ t=x%2; y=2*y+t; x=x/2; 看了答案明白,但是不知道思路,请高人指点.
输入一个十进制整数,将它对应的二进制数的各位反序,形成新的十进制数输出. 请大神解释一下思路.
题目中的反序,是用““二进制””进行的,用““十进制数””来说明思路,也许能好理解.
看下面的计算过程:
x = 385;
y = 0;
while(x != 0){
t = x % 10; //t = 5 t = 8 t = 3
y = 10 * y + t; //y = 5 y = 58 y = 583
x = x / 10; //x = 38 x = 3 x = 0
}
循环三次,中间结果数据在上面已经标出.
最后结果:y = 583, 这是385的反序数字.
再问: 您好,您的解释很好,其实我想问个很弱智的问题,您是怎么想到要这样做的呢?开始怎么入手呢?谢谢您回答一下!
再答: 二进制的数据处理,实际上,很多都和十进制雷同。 但是,十进制,虽然从小就用了多年,往往还是没有掌握住规律。 基础牢固了,自然就想到高级的问题应该如何处理了。