青の部隊 505小隊 ULZ

二進で表示 - でみ的解答

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集
4bitずつテーブルで。

#include <stdio.h>

static const char d2btbl[][5]={
 "0000","0001","0010","0011",
 "0100","0101","0110","0111",
 "1000","1001","1010","1011",
 "1100","1101","1110","1111",
};

inline void dec2bin16(unsigned int n){
 /* [aaaa][bbbb][cccc][dddd]*/
 printf(d2btbl[(n >> 12) ]);      /* aaaa */
 printf(d2btbl[(n >>  8) & 0xf]); /* bbbb */
 printf(d2btbl[(n >>  4) & 0xf]); /* cccc */
 printf(d2btbl[ n        & 0xf]); /* dddd */
}

inline void dec2bin32(unsigned int n){
 dec2bin16(n >> 16);     /* 上位16bit */
 dec2bin16(n &  0xffff); /* 下位16bit */
}

int main(){
 int n;
 scanf("%d",&n);
 dec2bin32(n);
}

ん?64bitなんか知らね!!

タグ:

+ タグ編集
  • タグ:
ウィキ募集バナー