• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+
イイね!
2023年05月27日

BCDコード

BCDコード Binary
Coded
Decimal
二進化十進数





RTC(Real Time Clock)とか時間や日付の表現によく使われる書き方のようです。
たとえば
2023年5月27日なら0x230527。(年は2000オフセットされていることが多い)
0xは十六進数の識別子。テキストではなくて数値です。
メモリ上では3バイトとなります。

見た目が同じなテキスト230527は、メモリ上で見てみると
0x32 0x33 0x30 0x35 0x32 0x37の6バイトになります。

3バイト節約というよりは 日付は数値にしておいた方が扱いやすいからかな。
←妄想です。

ここで気をつけることは、テキストをそのまま数値にして十進数としてしまうとダメです。
つまり、十進数の230527は十六進数では0x03847Fとなってしまい、
日付に戻したら2003年132月127日、あるいは2003年84月7F日?となり、きっとエラーで表示されないでしょう。

計算方法は1桁づつ16^x倍していけばいいのかな?
なんかいい方法がありそうなので、ググってみてください。


追記ーーー
アスキーコードをつかって
ascii = 0x30 + x でテキストへ変換できますね。
アスキーコードからは x = ascii - 0x30 で数字を1文字取り出せますね。

数字のパズルなので楽しみながらプログラミングすればいいわけです。


追記ーーーー
てぇかむさんのコメントで、
はてアセンブラの時はどうしていたんだろ?
と気になってしょうがなくなってしまったので、
アーカイブから引っ張り出してきました。
十六進 ---> BCD ---> アスキーコード --> 液晶へ表示
のBCDへの変換部分。


てぇかむさんが紹介しているスマートなやり方じゃなくて、
10で割って余りを求めてるみたい。

もうすでにアセンブラできる気がしないです。。。


ブログ一覧 | PIC ESP32 マイコン | 日記
Posted at 2023/05/27 19:04:53

イイね!0件



今、あなたにおすすめ

関連記事

ラッキー♪
kimidan60さん

この記事へのコメント

2023年5月27日 21:10
こんばんは。12年前に自分もビート用の
多機能?なデシタルトリップメーターを作るときに
BCD変換の勉強をしましたよ~。:-)

〉https://minkara.carview.co.jp/smart/userid/526128/blog/24236882/

ただし、普段その計算をすることなんてないので
忘れてますが・・・
コメントへの返答
2023年5月28日 8:28
こんにちは。
ちょっと計算してみたんですけど
簡単そうで難しいですね。

頭の中を二進数に変換しないといけないようです。

↑昔やったダサいBCD変換を追記しておきました。

2023年5月27日 23:46
こんばんは、
まさしく御指摘のとおりに間違えてました💧



コメントへの返答
2023年5月28日 8:25
こんにちは😃
👍



プロフィール

なんか作ってれば満足
みんカラ新規会員登録

ユーザー内検索

<< 2024/5 >>

   123 4
567891011
12131415161718
19202122232425
262728293031 

リンク・クリップ

らくがき帳 てっぽう編 
カテゴリ:エアソフト
2020/04/04 21:07:14
 
むかしむかし 
カテゴリ:レース
2019/04/30 23:17:16
 
らくがき帳 カメラ編 
カテゴリ:写真 カメラ
2016/09/19 21:52:18
 

愛車一覧

ホンダ ビート 赤ビート ターボ (ホンダ ビート)
盆栽化してます。
スズキ ジムニー 紺ジムニー ターボ (スズキ ジムニー)
昔乗ってたのと同じ模様をいれました。 大事な乗用車なので、イジらない。
ヘルプ利用規約サイトマップ

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車、今いくら?
メーカー
モデル
年式
走行距離(km)
© LY Corporation