problém s BCD binárne do konverzie v C

T

Tulipmania

Guest
Nazdar,
Potrebujem pomoc s týmto modulom.Je to previesť binárnu hodnotu na BCD jej ekvivalent priradenie každej číslice na prvok poľa.Napríklad binárnu hodnotu (11111111 ff = hex) je ekvivalentné (255) desatinné tak 5 digit je priradený prvý prvok poľa ...... druhej 5 je priradené ďalší prvok a 2, je priradená tretí.Problémom je, že modul je schopný priradiť iba prvé dve číslice, a skoro priradiť tretej číslice na tretí prvok poľa.
Všimol som si, že zatiaľ čo simulujúcej modul .. tak čo je na ňom zlého?

program;

# Include <reg52.h>void main (void)
(
int x; / / Array Index
unsigned int binvalue = 0x00ff; / / binárnu hodnotu, ktorú chcete previesť & zobrazené
int INT_DIGITS [3], / / deklarácia poľa číslic oddelených
int * INT_PTR; / / Array Pointer

x = 0; / / Inicializácia ukazovateľ na bod prvý prvok

robiť
(
INT_PTR = & INT_DIGITS [x], / / súbor INT_PTR, aby ukazoval na prvok v indexovaných INT_DIGITS
* INT_PTR = (binvalue% 10); / / Priradenie ASCII hodnotu k prvku
binvalue = binvalue/10;
X;
)
while (binvalue> = 10);
)

 
Vaša "do" slučky vykonáva dvakrát, nie trikrát.Pozrite sa, čo sa deje ", zatiaľ čo" test.

 

Welcome to EDABoard.com

Sponsor

Back
Top