[H8-ML(4853)] Re: BINからBCDへの変換
From: "ミサワ@新コス" <keipon@xxxxxx>
Date: 2004年06月07日(月)21時11分33秒
三谷さんこんばんわ
返事遅くなりすみませんm(_ _)m
int→intと書きましたがよくよく考えればBCD化すると
5桁必要だからint Bには入りませんね
Bを配列にして最終的に下記のようにしました
かなり不細工な書き方ですがとりあえず動いているようです(-.-;)y-~~~ 
基本的な作業は同じですね

どうもわざわざありがとうございました
今後ともよろしくお願いしますm(_ _)m


void main(void)
{
	unsigned int A;				//BIN値格納
	unsigned char B[5];			//AのBCD値を桁毎に格納
		・
		・
		・
	my_itoa(B , A);
		・
		・
		・
}

unsigned char *my_itoa(unsigned char chBuf[] , unsigned int nNum )
//
// nNum->chBuf
// chBuf
// 
{

	unsigned int n;
	unsigned int nIndex = 0;
	
// 10000 の桁
	n = nNum / 10000;
	if ( n != 0){
		chBuf[nIndex] = (unsigned char)('0' + n);
		nIndex++;
	}
	nNum -= n * 10000;

// 1000 の桁
	n = nNum / 1000;
	if ( n != 0){
		chBuf[nIndex] = (unsigned char)('0' + n);
		nIndex++;
	}
	nNum -= n * 1000;

// 100 の桁
	n = nNum / 100;
//	if ( n != 0){
		chBuf[nIndex] = (unsigned char)('0' + n);
		nIndex++;
//	}

// 10 の桁
	nNum -= n * 100;
	
	n = nNum / 10;
//	if ( n != 0){
		chBuf[nIndex] = (unsigned char)('0' + n);
		nIndex++;
//	}

// 1 の桁
	nNum -= n * 10;
	
	chBuf[nIndex++] = nNum;
	
	// num arg
//	chBuf[nIndex] = 0;

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


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


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