[H8-ML(4848)] Re: BINからBCDへの変換
From: "miya" <urannene@xxxxxxxxx>
Date: 2004年06月06日(日)00時59分54秒
> unsigned int Aに入っているbinデータを
> unsigned int Bにbcdデータに変換する式を教えて頂けませんでしょうか?

式というか関数になりますが,こんなんでどうでしょう.
int = 16 bitとしています.
//--------------------------------------
unsigned int 
i2bcd( unsigned int i )
{
    unsigned int x;

    if ( i > 9999 )
        return 0x9999;

    x  = (  (i / 1000)        << 12 )
       | ( ((i % 1000) / 100) <<  8 )
       | ( ((i %  100) /  10) <<  4 )
       | (  (i %   10)              );

    return x;
}
//--------------------------------------
main()
{
    unsigned int i;
            
    for ( i = 0; i <= 10000; i++ )
        printf( "%5d --> 0x%04x\n", i, i2bcd( i ) );
}
//--------------------------------------


--- うらん

スレッド概略
[4843(R)](起点)
 └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]