c语言输入二进制
‘壹’ c语言如何输入一个数值(int,float,double,char,long),以二进制的形式输出
#include<stdio.h>
voidprt(char*p)
{inti;
for(i=7;i>=0;i--)
printf("%d",(*p&(1<<i))>0);
}
intmain()
{charc=122;
inti=123,j;
longa=124;
longlongb=125;
floatx=19.375;
doubley=19.375;
char*p;
p=&c;printf("c=");prt(p);printf("
");
p=(char*)&i;printf("i=");
for(j=sizeof(i)-1;j>=0;j--)prt(p+j);printf("
");
p=(char*)&a;printf("a=");
for(j=sizeof(a)-1;j>=0;j--)prt(p+j);printf("
");
p=(char*)&b;printf("b=");
for(j=sizeof(b)-1;j>=0;j--)prt(p+j);printf("
");
p=(char*)&x;printf("x=");
for(j=sizeof(x)-1;j>=0;j--)prt(p+j);printf("
");
p=(char*)&y;printf("y=");
for(j=sizeof(y)-1;j>=0;j--)prt(p+j);printf("
");
return0;
}
‘贰’ C语言怎么定义一个二进制数
C语言中没有 “二进制数”这种类型,所以没办法直接定义;但可以直接定义16进制数。
例:
int main(){
int a;
scanf("%p",&a);//16进制数输入%p是输入一个十六进制的数scanf("%llx",&a);也可以输入十六进制并且比较正规
printf("%d",a);//十进制输出%d是输出一个十进制的数
printf("0x%x",a);//16进制输出printf("%llX ",a);也可输出一个十六进制数如果红色部分大写X则输出十六进制为大写字母否则小写x输出为小写字母
}
(2)c语言输入二进制扩展阅读
C语言中定义整型数据的十六进制数:
unsigned int hex_val = 0x123;
//定义了一个整型变量并赋以初始值为一个十六进制常量。
if (scanf("%x", &hex_val) != EOF)
{
printf("它的八、十进制分别=%o、%d ", hex_val, hex_val);
}