A. c语言 把char 型 或者 整数转化成二进制 要怎么转
这个可以使用itoa函数
itoa为c语言的一个函数。itoa函数是一个广泛应用的,从非标准扩展到标准的C语言。它不能被移植,因为它不是标准定义下的C语言,但是,编译器通常在一个不遵循程式标准的模式下允许其通过header
,因为它是一个从逻辑对应到标准库的函数。itoa取整数输入值,并将其转换为数字的基数。
原
型
char
*itoa(
int
value,
char
*string,int
radix);
功
能
把一整数转换为字符串
用
法
itoa(i,num,10);
i
----需要转换成字符串的数字
num----
转换后保存字符串的变量
10----
转换数字的基数(即进制)。10就是说按10进制转换数字。还可以是2,8,16等等你喜欢的进制类型
返回值:指向num这个字符串的指针
程序例:
#include
#include
int
main(void)
{
int
number
=
12345;
char
string[25];
itoa(number,
string,
10);
printf("integer
=
%d
string
=
%s\n",
number,
string);
return
0;
}
char
*itoa(int
value,char
*string,int
radix)
将整数value转换成字符串存入string,
radix为转换时所用基数(保存到字符串中的数据的进制基数)
B. 怎么用C语言编程把十进制转化成二进制
c语言中没有二进制的格式输出符号.
你可以用itoa函数很方便的将一个10进制int转变成二进制字符串.
如:
int
i;
char
s[128];
scanf("%d",&i);
itoa(i,
s,
2);
/*3个参数,第一个是待转换的数,第二个是存放转换后的字符串,第三个即需要转换的进制*/
printf("该数转换为二进制是:
[%s]\n",s);
补充一点,itoa函数的头文件是stdlib.h
C. c语言编程,如何将十进制转化为2进制
c语言编程将十进制转化为2进制可按手工转换规则进行程序转换。
整数占四个字节,每字节8位,共32位。所以,可以定义一个32位的数组来存储转换结果。
循环将整数进行除2取余数,余数存储到数组中。
当整数整除为0时,结束循环
逆序输出数组,得到转换结果
参考代码:
#include<stdio.h>
voidmain()
{
intc[32],i=0,n;
scanf("%d",&n);//输入待转换整数n
do{
c[i++]=n%2;
n/=2;
}while(n!=0);
for(i--;i>=0;i--)
printf("%d",c[i]);
printf(" ");
}
D. 请用一个很简单的C语言程序:十进制转换为二进制。
#include"stdio.h"
intmain()
{
intn;
inti=0,j;
charstr[100]={0};
charoutput[100]={0};
printf("请输入一个整数:");
scanf("%d",&n);
while(n)
{
str[i]=n%2+'0';
n=n/2;
i++;
}
for(j=0;j<i;j++)
output[j]=str[i-1-j];
printf("该整数的二进制表示为:%s ",output);
}
E. C语言,使用数组,编写一个十进制正整数转换为二进制数的转换工具
#include<stdio.h>
intmain()
{
inti=0,j=0,a=0,n[100]={0};
scanf("%d",&a);
printf("input=%d ",a);
while(a)
{
n[i++]=a%2;
a/=2;
}
for(j=i-1;j>=0;j--)
{
printf("%d",n[j]);
}
printf(" ");
return0;
}
65
input=65
1000001
F. 在C语言中怎么把一个数转换成二进制然后输出
数据在内存中本来就是以二进制补码存放的,设法从高字节至低字节一个bit一个bit地输出到屏幕上即可。根据题面要求,输出过程还要做以下工作:
从最高字节开始检测,全0的字节略去;
每8位增加输出一个空格。
代码如下:
12345678910111213141516//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ char *p; unsigned i,n,x=1<<sizeof(int)*8-1; printf("Input an integer...\n"); scanf("%d",&n); for(p=(char *)&n,i=sizeof(int)-1;i>0;i--) if(*(p+i)==0) x>>=8; else break; for(i=0;x;x>>=1) printf(++i%8 ? "%d" : "%d ",(n&x) || 0); printf("\n"); return 0;}
G. 一道c语言编程题,将十进制转换为二进制
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。