codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include<stdio.h> //BCD : Binary-Coded Decimal void BCD_Representation(unsigned int data,unsigned int count[]) { unsigned int i; unsigned int bin[32]; for(i=0;i<32;i++){ bin[i]=data%2; data/=2; } count[0]=count[1]=0; for(i=0;i<32;i++){ if(bin[31-i]==0)count[0]++; //0および1の個数を数える if(bin[31-i]==1)count[1]++; //count[bin[31-i]]++; //←これでも可能 printf("%d",bin[31-i]); if(i%4==3) //4桁ずつ区切る printf(" "); } } int main(void) { unsigned int data1,data2,count[2]; printf("符号なし32bit整数を入力してください.\n"); scanf("%d",&data1); printf("%d は2進表示で ",data1); BCD_Representation(data1,count); printf("です.\n"); printf("0のビット数は%d,1のビット数は%dです.\n",count[0],count[1]); printf("\n"); printf("符号なし32bit整数2つを入力してください.\n"); scanf("%d%d",&data1,&data2); printf("%d は2進表示で ",data1); BCD_Representation(data1,count); printf(",\n"); printf("%d は2進表示で ",data2); BCD_Representation(data2,count); printf("です.\n"); printf("~%d は2進表示で ",data1); BCD_Representation(~data1,count); printf(",\n"); printf("~%d は2進表示で ",data2); BCD_Representation(~data2,count); printf("です.\n"); printf("%d << 1 は2進表示で ",data1); BCD_Representation(data1<<1,count); printf(",\n"); printf("%d >> 1 は2進表示で ",data2); BCD_Representation(data2>>1,count); printf("です.\n"); printf("%d & %d は2進表示で ",data1,data2); BCD_Representation(data1&data2,count); printf("です.\n"); printf("%d | %d は2進表示で ",data1,data2); BCD_Representation(data1|data2,count); printf("です.\n"); printf("%d ^ %d は2進表示で ",data1,data2); BCD_Representation(data1^data2,count); printf("です.\n"); return 0; }
Private
[
?
]
Run code
Submit