c语言二进制表示_c语言怎么显示二进制数据

原问题:c语言怎么显示二进制数据
分类:编程开发 > 最后更新时间:【2016-12-24 14:07:58】
问题补充:

例如图片的二进制数据

最佳答案

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

最佳答案由网友  whoami1978  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
19

分享到:

其他回答

英文编码程序

其它网友回答:
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" ;
  需要运算时,再通过自定义函数将字符串转换成整数。

    推荐