数据在内存中本来就是以二进制补码存放的,设法从高字节至低字节一个bit一个bit地输出到屏幕上即可。根据题面要求,输出过程还要做以下工作:
从最高字节开始检测,全0的字节略去;
每8位增加输出一个空格。
代码如下:
12345678910111213141516//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ char *p; unsigned i,n,x=1<
代码如下:#includevoidbn(inti){intk,j;k=i/2;j=i%2;if(k!=0)binary(k);//采用递归处理,直到为0时,然后递归printf("%d",j);}intmain(){chara;scanf("%c",&a);bn(a);return0;}拓展延伸:什么是ASCII码:ASCII(AmericanStandardCodeforInformationInterchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC646。请注意,ASCII是AmericanStandardCodeforInformationInterchange缩写,而不是ASC2,有很多人在这个地方产生误解
二进制只有存储到char[]中,,,,,,,转换的过程,可以使用除2法
~~~~~