- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:数値をASCII文字にする方法についての質問です。)
数値をASCII文字にする方法
このQ&Aのポイント
- C言語を使用してPICマイコンのプログラミングをしている際、LCDに数値を表示するには変数を文字で渡す必要があります。その変換方法として、数値の1の位をASCII文字に変換するためのコードを見つけました。
- 具体的には、hensu = (suuji % 10) + '0';のようにプログラムを記述します。このコードを実行すると、ASCII文字に変換された値がLCDに表示されます。
- '0'を加えることで、数値の1の位がASCIIコードに変換される仕組みとなっています。具体的な理由や仕組みについては明確に解説されている情報は得られませんでしたが、この方法を使うことで数値をASCII文字に変換できることが確認されています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
C言語では''(シングルクオート)で括った文字は、その文字を表わす数値(通常はASCIIコード)になることはおわかりですね? あと、(suuji % 10) がsuujiを10で割った余り(=10進法で1の位の数値)というのも大丈夫ですね? ASCIIコードでは、0から9までが順番に並んでいます。よって0~9までの数値に'0'を足せば、その数値を表す「数字」になります。 '0'が48(0x30)= 0+48= 0+'0' '1'が49(0x31)= 1+48= 1+'0' '2'が50(0x32)= 2+48= 2+'0' ... '9'が57(0x39)= 9+48= 9+'0'
お礼
なるほど!ASCIIコードのことだったんですね。よくわかりました。お返事ありがとうございました!