「BCD命令」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (同じ利用者による、間の4版が非表示) | |||
| 1行目: | 1行目: | ||
'''BCD命令'''とは、[[BCD]]形式(Binary Coded Decimal:二進化十進数)の[[データ]]に対して演算や変換を行う命令の総称です。 | '''BCD命令'''とは、[[BCD]]形式(Binary Coded Decimal:二進化十進数)の[[データ]]に対して演算や変換を行う命令の総称です。 | ||
[[コンピューター]] | [[コンピューター]]で数値を扱う場合、よくあるのは「1バイトで0から255の数値を表す方式」です。昨今の[[プログラミング]]の教科書にはこの方法しか書かれていないことが一般的です。 | ||
一方、BCD形式では「1バイトで0から9までの数字」を表します。つまり人間が見やすい10進数表現のまま「1桁=1バイト」のまま[[メモリ]]に格納しています。かなりメモリが無駄になります。ちなみにメモリ節約のため「4ビットで1桁」を表す[[パックドBCD]]という方式の方が一般的でした。 | |||
BCD形式は「人間が見やすい」という利点に加えて、BCD命令では「桁数を指定して演算できる」という特徴がありました。昨今の[[プログラミング言語]]でいえば[[関数]]の[[引数]]にbyte型の[[配列]]と桁数を指定するイメージです。 | |||
<source lang=c> | <source lang=c> | ||
byte[] add(byte[] a, byte[] b, int digits) | byte[] add(byte[] a, byte[] b, int digits) | ||