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);
}