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);
)
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);
)