文字のHEX表示 – プログラミング – Home

通知
すべてクリア

[解決済] 文字のHEX表示


snow
 snow
(@snow)
ゲスト
結合: 23年前
投稿: 30
Topic starter  

void main()
{
char ctmp[3];

scanf( %s, ctmp ); // ここで”あ”を入力

printf( %.02x\n, ctmp[0] );
printf( %.02x\n, ctmp[2] );
}

出力結果
ffffffa4
ffffffa2

となってしまいます。2バイト文字を4桁のHEXで表現しいのですが、
先頭がどうしてもffffffがついてしまいます。
a4a2と出力する方法を教えてください。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

charの範囲は、-128~127で、0xa4=164ですから、
オーバーフローして-92になってしまうためです。
unsigned char ctmp[3];
としましょう。


返信引用
snow
 snow
(@snow)
ゲスト
結合: 23年前
投稿: 30
Topic starter  

>dairygoods

解決しました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました