十进制数与N进制数据的转换(数据结构c语言)

来源:百度知道 编辑:UC知道 时间:2024/05/13 14:57:14
十进制数与N进制数据的转换 (实验类型:设计型)
1)问题描述:将从键盘输入的十进制数转换为N(如二进制、八进制、十六进制)进制数据。
2)要求: 利用顺序栈实现数制转换问题;
我要实际程序.谢谢

就是用逐步相除的方法,有点像小学时的求最大公约数,一直到不能除为止。
如用2逐步除63,求余数,按位数放置即可。
2|63
31--1 (个位)
15--1 (第二位)
7--1 (第三位)
3--1 (第四位)
1--1 (第五位)
所以63表示为二进制时为11111
同时1023可表示为1100110111 (注意,当最后出现结果和余数都为1时两个都要算)
2|32767
16383--1
8191--1
4095--1
2047--1
1023--1
...同上
32767可表示为110011011111111
65535表示为:111011110101

该回答在2006-01-08 13:43:56由回答者修改过

除2.8.16等取余数例如:
(123)10=(?)2
123/2……1
得数为61在除:61/2……1
30/2……0
15/2……1
7/2……1
3/2……1
1/2……1
0
从下往上读为(1111011)2
这就是答案
(123)10=(?)8
123/8……3
15/8……7
1/8……1
0
答案就是(173)8
1直要算到0为止
这是我自己打的累死了
给我加分吧