• 締切済み

2進数字を10進数字にする方法,またその逆の方法は?

こんにちわ, 今Cの勉強をしているんですが, 10進数字を8進や16進にするには printf("%x",100)や printf("%o",100)でいけますよね。 これを2進変換するにはやはり,2で割って,その数値を順に入れていく方式しかないのでしょうか。 もしも他に方法があれば教えてください。 またその逆(2進数値を10進数値)も教えてください。 よろしくお願いします。

みんなの回答

  • digitalian
  • ベストアンサー率29% (323/1104)
回答No.3

16進 ←→ 2進  変換関数を作ってしまうのはどうでしょう。 でもビット操作の方が効率はいいとは思いますが。

  • yatokesa
  • ベストアンサー率40% (201/496)
回答No.2

ビットシフト(>>や<<)かビットマスクで整数型変数のビットを取り出すという方法もあります。 >またその逆(2進数値を10進数値)も教えてください。 2進数を表した文字列を整数型の変数に格納するということ?ですよね。 これもシフトやマスクでもできます。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

10進数、8進数、16進数の表示しかないようです。 http://www.birdport.jp/c-guide/algorithm/numsys.htm

参考URL:
http://www.orchid.co.jp/computer/cschool/bin.html

関連するQ&A