• ベストアンサー

16進数を10進数に簡単に変換する関数は?

16進数を10進数に簡単に変換する関数は何かありますか? もしご存知でしたら教えていただけないでしょうか? 例えば、3BDF8という16進数を10進数に変換したいと思っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjk65536
  • ベストアンサー率59% (66/111)
回答No.3

C言語のプログラム内では、保持している数値にn進数という概念はなく 文字列化するときに初めて考えるものです。 例 int n; // <- このnは何進数でもない ご質問を以下のように解釈してサンプルを書いてみました。 例えば、3BDF8という16進数(の文字列)を10進数(の文字列)に変換したいと思っています。 $ cat test.c #include <stdio.h> int main(int argc, char *argv[]) { int num; sscanf(argv[1], "%x", &num); printf("%d\n", num); } $ ./a.out 3BDF8 245240 いかがでしょうか。

saterain20
質問者

お礼

ありがといございます。

その他の回答 (2)

  • asuncion
  • ベストアンサー率33% (2126/6286)
回答No.2

16進数は、どのような形で与えますか? int num = 0x3BDF8; のように?あるいは、 char chr[] = "3BDF8"; のように? 前者ならば、特に変換は必要ないですね。 後者ならば、標準関数の strtol() あたりが使えるかもしれません。

saterain20
質問者

お礼

ありがとうございます。

回答No.1

16進文字列を数値化するにはstrtol関数を使います。 strtolは基数を指定できるので,2進文字列~36進文字列までどの基数の文字列でも使えます。 数値を10進文字列にするのには,sprintf関数を使います。

saterain20
質問者

お礼

ありがとうございます。

関連するQ&A

  • 16進数変換可能な関数電卓

    こんにちは。 Win7の関数電卓が使いにくいので、フリーのものを探しています。 必須機能は16進数への変換で、Vistaまでの関数電卓機能で十分です。 そのような電卓ソフトをご存知の方、教えてください。 幾つか見てみましたが、見た目もシンプルなものを最終的には選びたいです。

  • JavaScriptもしくはExcel関数で10進数を4進数に変換する

    JavaScriptもしくはExcel関数で10進数を4進数に変換するには、 どうしたら出来ますか?

  • 2進数と16進数の相互変換

    VBScriptで 2進数と16進数の相互変換をしたいのですが、 進数を変換する関数としては、 Hex関数やOct関数ぐらいしか見当たりません。 どうしたらいいのでしょうか? よろしくお願いします。

  • 10進数を2進数に変換したい。

    業務上であるログの値を解析しています。 ※ログはcsv形式で、Excelに落として編集加工しています。 その中で、10進数を2進数に変換する必要がありますが、変換方法がよくわかりません。 ExcelでDEC2BINという関数があるところまでは突き止めたのですが、 この関数は、与件(10進数)が512を超えるとエラーとなってしまいます。 (解析対象は10進数で10桁です・・。) 2進数に変換する関数、方法などはあるのでしょうか? 大量にログがあるので、一括して加工したいのですが・・。 (VBAの使いかたがわからないので、何とか関数か何かで対処したいのですが・・・。Excelは2002を使ってます)

  • 16進数変換

    エクセルで10進数のデータを一括で16進数変換する方法があったら教えてください。1セルずつなら関数で変換できるのですが一括変換する方法がわからないのです。わかる方がいらっしゃったらよろしくお願いいたします。

  • エクセルでの2進数変換について

    今回もよろしくお願いします。 今回、悩んでいるのはエクセルを使い、「10進数を2進数に変換する」という事です。2進数にへんかんしてしまう関数も探してみるとあるのですが、それとは別に関数をいくつか組み合わせて出したいと思っています。 いろいろやってはみたのですがいまいちうまくいきません。 どうか、よろしくお願いします。

  • 陽関数に変換できない陰関数?

    x^3 + y^3 - 5xy^2 - x +1 = 0 この陰関数は陽関数に変換できるのでしょうか? y^3 と y^2 が含まれているため、左辺をy= の形にしようとしても右辺にyが出てきてしまうので、できないと思ったのですが合っていますか? 陰関数から変換できるものとできないものの見分け方も教えていただきたいです。

  • 10進数→2進数への変換

    VBの関数で  10進数→2進数への変換 のライブラリはあるのでしょうか?  それとも自分で作成するのでしょうか? もし作成する場合、何か参考になるHPを教えて下さい また作成された方が居られましたら、その関数を頂けないでしょうか  初歩的な質問で申し訳ございません、よろしくお願い申し上げます

  • 2進数から10進数変換

    int henkan(char [ ]) という関数に、”10111”と 2進数で表記されている文字列を数値に変換したいんですが、 どうやったらよいのか教えてください。

  • 指定文字から、空白までを16進数→10進数に変換する関数

    エクセルで、A1セルに下記が記載されています。 「タイトルテスト#7BC ☆☆☆」 この文字列で、7BCだけを抽出し、さらに10進数に変換してB1へ出力したいと考えています。 16進数の前には必ず#がついており、最後には空白があります。 ♯から空白までの文字を10進数に変換する関数を調べたのですが、私には分かりませんでした。 どなたかご教授お願いいたします。

専門家に質問してみよう