c语言二进制表示_c语言怎么显示二进制数据
例如图片的二进制数据
最佳答案
C语言可以输出二进制的,但肯定不是%b
以下是一个简单的例子,输出文件test.jpg的二进制数据(每一个字节一行)
你可以参考下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int len,i;
unsigned char *buff;
char s[10];
fp=fopen("test.jpg","rb");
fseek(fp,0,SEEK_END);
len=ftell(fp);
buff=(unsigned char *)malloc(len);
fseek(fp,0,SEEK_SET);
fread(buff,len,1,fp);
fclose(fp);
for(i=0;i<len;i++)
{
itoa(buff[i],s,2);
printf("%08s\n",s);
}
return 0;
}
其他回答
其它网友回答:
strText.Format("%b", varBin)
其它网友回答:
C语言中没有 “二进制变量”这一说法!
C语言中的数据基本类型包括:char short int long float double . 用哪种类型定义的就叫XX类型变量,如字符型变量,整型变量,浮点型变量。
各种变量中存储的数据,都是以二进制进行存储的。因类型的不同,采用的二进制编译格式不同。如:整形类都是用补码存储,浮点型采用IEEE754标准存储。
对于int a=0x1A ; int b=0101 ;这种变量初始化中,a,b依然是整形变量,0x1A这种以0x开头的数据表示16进制常数(或称常量),0101这种以0开头的数字表示8进制常数。但程序设计中并没有规定二进制常数的表示形式,如果需要使用的话,可以采用字符数组来存储二进制数,如:
char a[100] = "10100101" ;
需要运算时,再通过自定义函数将字符串转换成整数。