C语言数制转换

Python016

C语言数制转换,第1张

十进制转化成二进制是用2来展转相处,直到结果为1,然后把从最后的1开始,从下到上,把余数写出就是对应的二进制,如27/2=13...1

13/2=6...1

6/2=3....0

3/2=1....1写出来就是11011

支持zpfloveyfy的分析,程序风格也很好。

我在这给个数制转换的公式

十进制数N和其他d进制数的转换基于以下公式:

N

=

(N

div

d)

*

d

+

N

mod

d

其中:div为整除,mod为求余。

例如将10进制1348转化成2504,运算过程如下:

N

Ndiv8

Nmod8

1348

168

4

168

21

0

21

2

5

2

0

2

看起来有点乱,因为这里会把原来的格式给打乱。

由最后一列4052可以看出,正好是结果2504的倒数,所以用栈来实现它是最理想不过的了。