输入一个十进制整数,将它对应的二进制数的各位反序,形成新的十进制数输出. 请大神解释一下思路.
while(x!=0){ t=x%2; y=2*y+t; x=x/2; 看了答案明白,但是不知道思路,请高人指点.
人气:292 ℃ 时间:2020-06-18 16:35:21
解答
题目中的反序,是用““二进制””进行的,用““十进制数””来说明思路,也许能好理解.
看下面的计算过程:
x = 385;
y = 0;
while(x != 0){
t = x % 10; //t = 5 t = 8 t = 3
y = 10 * y + t;//y = 5 y = 58y = 583
x = x / 10;//x = 38 x = 3x = 0
}
循环三次,中间结果数据在上面已经标出.
最后结果:y = 583, 这是385的反序数字.您好,您的解释很好,其实我想问个很弱智的问题,您是怎么想到要这样做的呢?开始怎么入手呢?谢谢您回答一下!二进制的数据处理,实际上,很多都和十进制雷同。但是,十进制,虽然从小就用了多年,往往还是没有掌握住规律。基础牢固了,自然就想到高级的问题应该如何处理了。
推荐
- 十进制转换成二进制及二进制转换成十进制是如何转换的,举例说明.
- 有一条堤坝,它的截面是梯形,上底是3米,面积是24平方米,算出下底是多少米
- 英语翻译
- 收到你的来信我很高兴 I'm very happy________________________you.怎么填?
- 将直线y=x绕原点逆时针方向旋转15度,得到的直线方程是什么
- nice,good,well的区别,特别是修饰感官动词使用哪个
- PH3属于化合物中的那一类?
- 甲、乙两人同时从A地到B地,甲用了10小时比乙多用了4小时.已知两人的速度差是每小时5km.求两地之间距离
猜你喜欢