質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

159閲覧

C言語で数値から16進数へ変更したい

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/09/27 04:38

Javaで書いたプログラムをCで書き直しているのですが,どう書き直せばよいかわからない箇所があります.ご存知の方がいらっしゃれば教えていただきたいです.

やりたいことは,10というような数値を16進数表記(a or 0a)に変更したいです.数値は10進数表記にしている,というわけではなく単なる数字です.

わからないJavaの表現はこのようになっています.
String sixteen = Integer.toHexString(six[i] $ 0xff);
この記述はfor内にあります.sixは配列です.

自分で調べると,2進数から16進数に変換など,進数から進数への変換方法はたくさん出てくるのですが,単なる数値から16進数に変換する方法を見つけられず困っています.
よろしくお願いいたします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2017/09/27 04:49 編集

数値からそれを表す、16進"文字列"にしたいってことですね
退会済みユーザー

退会済みユーザー

2017/09/27 05:08

はい,そうです.言葉が足りず申し訳ありません.補足してくださりありがとうございます!
guest

回答3

0

ベストアンサー

C

1char buf[16]; // 要素数は適当 2int n = 10; // 変換したい数 3sprintf(buf,"%x",n); 4 5// ↓確認 6printf("%s",buf); // a

投稿2017/09/27 04:47

ozwk

総合スコア13512

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/09/27 05:08

丁寧に答えていただきありがとうございます!ozwkさんの方法で無事に変換することができました.本当にありがとうございます!
guest

0

sprintfを使えばいいです。

c

1int value = 10; 2char hex[32]; 3sprintf(hex, "%x %02x %X %04X", value, value, value, value); 4printf("%s", hex); 5//=> a 0a A 000A

フォーマットはお好きなものを。

投稿2017/09/27 04:52

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/09/27 05:09

ありがとうございます!表記の方法は様々あるのですね…求めているのは0aの表記方法だったので,02xで無事に表記することができました.本当にありがとうございました!
guest

0

単なる数値というのは10進数なので、10進数から16進数に変換すればいいだけです。

投稿2017/09/27 04:42

rafiene3249

総合スコア53

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/09/27 05:07

なるほど,確かにそうですね…そんな単純なことに気づかず申し訳ないです.ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問