C语言用1个10进制数表示字符串,并输出该值怎么做?

Python013

C语言用1个10进制数表示字符串,并输出该值怎么做?,第1张

要把一个十进制形式的整数数字字符串,转换为一个十进制整数,可以用以下的办法:

char s[]="12345678"

int i,n=0

for(i=0s[i]i++)

n=n*10+s[i]-'0'

printf("%d",n)

运行这段代码后可以输出:

12345678

可以通过下面的公式解决

#include<stdio.h>

const int maxn = 128

const int index8 = 8

const int index16 =16

int main()

{int Array8[maxn]

int Array16[maxn]

int n, cot8 = 0

scanf("%d", &n)

int m = n, cot16 = 0

while(n) {Array8[cot8++] = n % index8

n /= index8}

while(m) {Array16[cot16++] = m % index16

m /= index16}

int i

for(i = cot8 - 1i >= 0i--)

printf("%d", Array8[i])

puts("")

for(i = cot16 - 1i >= 0i--)

扩展资料:

十进制转十六进制的具体方法:

对于整数部分,用被除数反复除以16,除第一次外,每次除以16均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。

对于小数部分,采用连续乘以基数16,并依次取出的整数部分,直至结果的小数部分为0为止。故该法称“乘基取整法”。

10进制数转换成十六进制数,这是一个连续除以16的过程:把要转换的数,除以16,得到商和余数,将商继续除以16,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。

参考资料:百度百科-十六进制至十进制转换

#include<stdio.h>

int main()

{

int a,*p

p=&a

scanf("%d",p)

printf("%x\n",*p)

return 0

}

扩展资料:  

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。