
No.3ベストアンサー
- 回答日時:
ANo1さん、ANo2さんと基本同じです。
ビット操作で実行する方法もあるという参考まで。static char tbl[ 16 ] = { '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
void to_hex( char c, char *str )
{
str[ 0 ] = tbl[ ( unsigned char )c >> 4 ]; // n / 16 と同じ (注意)
str[ 1 ] = tbl[ ( unsigned char )c & 0x0f ]; // n % 16 と同じ
str[ 2 ] = '\0';
}
注意: unsigned char にキャストしないと、符号ビットが残るので
期待した結果にならない。
No.2
- 回答日時:
★おまけ。
・char型の1文字は、8ビットです。
それをアスキーコードの16進数表記に変換数には、
『n / 16』が上位4ビット、
『n % 16』が下位4ビットとなります。
・上位/下位に分けれたらば、回答者 No.1 さんのアドバイスどおりに 0 ~ 15 の整数を
'0'~'9'、'A'~'F'という1文字で出力すれば良い。
・'0'~'9'、'A'~'F'という1文字はchar型の配列テーブルにでも持っておけば『配列』を
参照するだけで1文字に変換できます。
・以上。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CStringをwchar_tに変換したい
-
テキストデータをそのままバイ...
-
文字コードチェックについて
-
c++ 文字列を入力して、一文字...
-
C言語のfor文です。 繰り返しの...
-
簡易grepコマンドの作成を自作...
-
文字列から空白を取り除きたい...
-
fgetsなどのときのstdinのバッ...
-
for文 アスタリスクで形を作る
-
'const char *' 型は 'char *' ...
-
配列をnビットシフトする
-
コンパイルエラー invalid ope...
-
文字を16進変換
-
C言語のポインターで詰まっている
-
atoi( ) の反対をやりたい
-
charからLPTSTRへの変換方法
-
単語を読み取る(c言語)
-
下記のプログラムがコンパイラ...
-
c言語でユーザ関数を利用して入...
-
英単語をアルファベット順に
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構造体の各メンバにfor文からア...
-
fgetsなどのときのstdinのバッ...
-
文字列から空白を取り除きたい...
-
C言語のfor文です。 繰り返しの...
-
CStringをwchar_tに変換したい
-
間接参照のレベルが異なっています
-
c++ 文字列を入力して、一文字...
-
C言語の入力した文字を反転させ...
-
charからLPTSTRへの変換方法
-
ネットワークにつながっている...
-
'const char *' 型は 'char *' ...
-
テキストデータをそのままバイ...
-
c言語でユーザ関数を利用して入...
-
atoi( ) の反対をやりたい
-
間接操作のレベルとは
-
-'0'の意味について
-
double型の値をchar配列に変換...
-
Linuxでフォルダ内全ファイル名...
-
配列をnビットシフトする
-
型変換
おすすめ情報