「Hagi utils」の版間の差分

提供: Wikinote
移動: 案内検索
(printb() 関数)
行23: 行23:
 
     }
 
     }
 
  }
 
  }
実行例
+
使用例:<code>argv[1]</code> を <code>atoi()</code> に渡して <code>printb()</code> にかけるコマンド
 
  [hagio@lab ~]$ printb 1234567890
 
  [hagio@lab ~]$ printb 1234567890
 
  01001001100101100000001011010010
 
  01001001100101100000001011010010
 
  [hagio@lab ~]$ printb -1
 
  [hagio@lab ~]$ printb -1
 
  11111111111111111111111111111111
 
  11111111111111111111111111111111

2009年5月4日 (月) 19:02時点における版

【秘密】(笑)

ちょっとしたコマンドやライブラリを自宅と会社で同期するためのページ。 学生時代に作ってたヤツは今じゃ全然使い物にならない…。

C 言語

printb() 関数

整数を 2 進数で表示する関数。

#include <stdio.h>

void printb(unsigned num) {
    int i;
    for (i = 31; i >= 0; i--) {
        putchar(((num >> i) & 1) + '0');
    }
}

void printb64(unsigned long long num) {
    int i;
    for (i = 63; i >= 0; i--) {
        putchar(((num >> i) & 1) + '0');
    }
}

使用例:argv[1]atoi() に渡して printb() にかけるコマンド

[hagio@lab ~]$ printb 1234567890
01001001100101100000001011010010
[hagio@lab ~]$ printb -1
11111111111111111111111111111111