用c语言编写八进制转换二进制程序

来源:百度知道 编辑:UC知道 时间:2024/09/21 22:26:48

#include<stdio.h>
#include<stdlib.h>
int main()
{
int num;
char str[33];
printf("输入八进制数:");
scanf("%o",&num);
itoa(num, str, 2);
printf("八进制数%o转化为二进制是%s\n", num,str);
return 0;
}

已修改!

解题技巧: 用 itoa()和atoi() 两个库函数。

注:
1.itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是目标字符串,第三个参数是转移数字时所用的基数。在上例中,转换基数为2。2:十进制;10:十进制。

2.itoa(num, str, 2); 的作用是将num这个数以二进制形式的字符串形式存放在str指向的内存中。
如:itoa(10, str, 2);转化后str中字符串是“ 0001010”,10D=0001010B。
(后缀D、B分别代表十进制、二进制)

3.itoa(num, str, 10); 的作用是将num这个数以十进制形式的字符串形式存放在str指向的内存中。
如:itoa(10, str, 2);转化后str中字符串是“10”,10D = 10D。

4.使用itoa()函数时别忘记加头文件 #include<stdlib.h>

现在提供一个从2到16之间的互相转换程序,可以实现小数,整数,负数,正数等之间的互相转换,楼主可以根据自己的需要稍作修改即可满足你自己的需要,O(∩_∩)O~
源程序如下:
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<