[H8-ML(4847)] Re: BINからBCDへの変換
From: hiikosan_y_man@xxxxxxxxxxx
Date: 2004年06月05日(土)23時36分37秒
Hiikosanです。

私も、Hewにitoaが無かったので、
強引に作ってしまいました。
C言語をはじめたばっかりの頃で、
かなり無茶苦茶ですが、
作り出される桁数が固定なので、
LCDに表示するのには、結構便利なので、
今でも結構使っています。
作り直せばいいのでしょうけど、一度動いてしまうと・・・
これは、unsigned int ではなくて、int 用ですが・・・

ホント恥ずかしい作りですみません。


void    chg_itoc()
{
    int i;
    char    文字列[7];
    char    mana;           // マイナス処理用

    mana = 0;
    if (chg_l < 0)
    {
        mana = 1;
        chg_l *= -1;
    }       

    for (i = 0; i > 7; i++)
        文字列[i] = 0x20;
    文字列[6] = '\0';

    if (a >= 10000)
    {
        文字列[1] = a / 10000 + 0x30;
        文字列[2] = (a % 10000) / 1000 + 0x30;
        if (mana == 1)
            文字列[0] = 0x2d;
    }
    else if (a >= 1000)
    {
        文字列[2] = a / 1000 + 0x30;
        if (mana == 1)
            文字列[1] = 0x2d;
    }
    else if (a >= 100)
    {
        文字列[3] = a / 100 + 0x30;
        文字列[4] = (a % 100) / 10 + 0x30;
        文字列[5] = (a % 10) % 10 + 0x30;
        if (mana == 1)
            文字列[2] = 0x2d;
    }
    else if (a >= 10)
    {
        文字列[4] = a / 10 + 0x30;
        文字列[5] = (a % 10) + 0x30;
        if (mana == 1)
            文字列[3] = 0x2d;
    }
    else
    {
        文字列[5] = a + 0x30;
        if (mana == 1)
            文字列[4] = 0x2d;
    }

    if (a >= 1000)
    {
        文字列[3] = (a % 1000) / 100 + 0x30;
        文字列[4] = (a % 100) / 10 + 0x30;
        文字列[5] = (a % 100) % 10 + 0x30;
    }
}

Hiikosan
Mail : hiikosan_y_man@xxxxxxxxxxx 又は、Mail : mtp-miya@xxxxxxxxxx

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


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


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