#include #include int flag=0; void disp(int a){ int i; for(i=sizeof(int)*8-1;i>=0;i--){ printf("%d",(a>>i)&1); if(i%4==0)putchar(' '); } printf("(2) = %5d(10)\n",flag); } int input(){ char a[10]; return atoi(gets(a)); } void check(int a){ printf("%dビット目は%dです。\n",a,(flag>>(a-1)) & 1); } int main(){ int value; int mode; char a[4]; printf("[1]2-->10,[2]10-->2 -->"); mode = atoi(gets(a)); while(1){ disp(flag); if(mode==1){ printf("bit-->"); }else{ printf("value-->"); } value = input(); if(mode==1 && (value<=0 || value > sizeof(int)*8))break; else if(value == 7777)break; if(mode==1)flag=(1<<(value-1))^flag; else flag=value; /*check(value);*/ } return 0; }