LoginSignup
1
1

More than 5 years have passed since last update.

bit列の取得

Posted at

プログラムをしていると2進数のビット列を確認したい場合がある。
そんな時には bc (1) が便利。ビット列以外にも基底数の変換も簡単です。
よく利用するならスクリプトか alias に設定しておくと楽かな。

sample
$ echo "ibase=10; obase=2; 10" | bc     ← 10進数の10のビット表示
1010
$ echo "ibase=16; obase=2; 20" | bc     ← 16進数の20のビット表示
100000
$ echo "ibase=10; obase=16; 30" | bc    ← 10進数の30の16進数表示
1E

基底数の変換は gdb (1) でも可能だけどビットまでは表示できない。

sample
(gdb) p/x 10                             ← 10進数の10を16進数で表示
$1 = 0xa
(gdb) p/x 20                             ← 10進数の20を16進数で表示
$2 = 0x14
(gdb) p/x $1 + $2                        ← 10進数の10+20を16進数で表示
$3 = 0x1e
(gdb) p $2 - $1 / 3                      ← 10進数の20 - (10 / 3)を10進数で表示
$4 = 17
(gdb) p ($2 - $1) / 3                    ← 10進数の(20 - 10) / 3を10進数で表示
$5 = 3
(gdb) q

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1