数据在计算机中都是二进制表示的
如果非要看0101的话,这样做:
void main(void)
{
char ch=0x7C;
short i=7;
while(i>=0)
{
if((ch>>i) & 0x01)
printf("1");
else
printf("0");
i--;
}
}
?不懂...什么意思这是?要在二进制前加个负号?
#include<stdio.h>
int main(void)
{
short x,i=8;
scanf("%d",&x);
while(i-->0)
printf("%d",(x>>i)&~(~0<<1));
printf("\n");
return 0;
}
[此贴子已经被作者于2006-6-12 22:11:46编辑过]
假设范围在[0,255],前面好几个都是可以的
[CODE]
#include "stdio.h"
int main()
{
unsigned char c;
int i;
scanf("%d",&c);
if(c>255 || c<0)
exit(-1);
for(i=7;i>=0;i--)
printf("%d",(c>>i)&1);
return 0;
}
[/CODE]
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
main(void)
{
int number;
char string[25];
printf("number=");
scanf("%d",&number);
printf("string = %s\n",itoa(number, string,2));
getch();
}
莫名其妙,要善于提问:
1。你的每一个“整数”极限数值范围多大?
2。从正确到出问题的临界点发生在多少个数的时候?
3。你的每一个“计数器”的计数上限?
4。在什么编译器下运行的?建议用VC。