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\n",a);也可输出一个十六进制数如果红色部分大写X则输出十六进制为大写字母否则小写x输出为小写字母
}
扩展资料
C语言中定义整型数据的十六进制数:
unsigned int hex_val = 0x123;
//定义了一个整型变量并赋以初始值为一个十六进制常量。
if (scanf("%x", hex_val) != EOF)
{
printf("它的八、十进制分别=%o、%d\n", hex_val, hex_val);
}
1、打开visualC++6.0-文件-新建-文件-C++SourceFile。
2、输入预处理命令和主函数:
#includestdio.h /*输入输出头文件*/
voidmain()/*空类型:主函数*/
3、定义变量和数组的数据类型并输入一个十进制:
intb[16],x,k,r,i;/*定义变量和数组的数据类型为整型*/
printf("输入一个十进制:");/*输出文字提示*/
scanf("%d",x); /*输入一个十进制数字*/
k=-1;/*将-1赋给k*/
4、用除R取余倒计法将十进制的数转化成二进制的数:
do/*用循环将十进制的数转化成二进制的数*/
{
r=x%2;/*用除R取余倒计法计算二进制*/
b[++k]=r;/*将值赋给数组*/
x/=2;/*将原数除2*/
}while(x=1);
5、输出结果:
for(i=k;i=0;i--) /*将上面倒计的数正回来*/
printf("%d",b[i]);/*输出结果*/
printf("\n");
6、完整的源代码:
#includestdio.h /*输入输出头文件*/
voidmain()/*空类型:主函数*/
{
intb[16],x,k,r,i;/*定义变量和数组的数据类型为整型*/
printf("输入一个十进制:");/*输出文字提示*/
scanf("%d",x); /*输入一个十进制数字*/
k=-1;/*将-1赋给k*/
do/*用循环将十进制的数转化成二进制的数*/
{
r=x%2;/*用除R取余倒计法计算二进制*/
b[++k]=r;/*将值赋给数组*/
x/=2;/*将原数除2*/
}while(x=1);
for(i=k;i=0;i--) /*将上面倒计的数正回来*/
printf("%d",b[i]);/*输出结果*/
printf("\n");
}
写入函数??。。正好有现成的~粘给你了~你自己选吧 二进制转十进制: // #include stdlib.h //// system("pause"); #includestdio.h #includestring.h #includemath.h //pow() int main() { int i; char str[26]; gets(str); double sum=0.0; long length=strlen(str); for(i=0;ilength;i++) { sum += (str[i]-'0')*pow(2,length-i-1); } printf("%d\n",(long)sum); // system("pause"); return 0; } 十进制转n进制: #includestdio.h void Fun(int Shi) { if( Shi 2 ) printf("%d",Shi); else { Fun(Shi/2) ; printf("%d",Shi%2); } } int main() { int Shi ; scanf("%d",Shi) ; Fun(Shi) ; printf("\n") ; return 0 ; } 追问: 哦 对不起 是 二进制文件 写入函数 不是 二进制转换 函数!!不好意思啊 不过还是非常感谢你的帮助,,谢谢了!! 回答: fwrite本来就是支持 二进制数 据写入,你还需要什么函数?