C言語なら俺に聞け(入門篇) Part 38at TECH
C言語なら俺に聞け(入門篇) Part 38 - 暇つぶし2ch178:デフォルトの名無しさん
08/11/02 20:59:47
>>173
#include <stdio.h>
#include <limits.h>
#define UPPER_BIT (1 << (sizeof(int) * CHAR_BIT - 1))
void print_bit_s(int n){
  unsigned int mask = UPPER_BIT;
  for(;mask; mask >>=1) putchar(mask & n ? '1' : '0');
  putchar('\n');
}
void print_bit_u(unsigned int n){
  unsigned int mask = UPPER_BIT;
  for(;mask; mask >>=1) putchar(mask & n ? '1' : '0');
  putchar('\n');
}
int main(){
  int n1 = (-1);
  int n2 = n1 & ~UPPER_BIT;
  unsigned int m1 = n1;
  unsigned int m2 = n2;
  print_bit_s(n1 >> 1);
  print_bit_u(m1 >> 1);
  print_bit_s(n2 << 1);
  print_bit_u(m2 << 1);
  return 0;
}
// output
11111111111111111111111111111111
01111111111111111111111111111111
11111111111111111111111111111110
11111111111111111111111111111110



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch