Matematyka w HEX`ach

0

Pisząc program napotkałem na ciekawy problem.
Mamy libę
0b89 (16)=2953 // (16) oznacza podstawe równą 16
0b(16)=11(10)
89(16)=59(10)

W programie mam strukture
struct INFO
{
byte liczba1;
byte liczba2;
}

oraz

INFO *test;

wczytuje dane:
test-&gtliba1=11
test-&gtliba1=59

Potem drukuje na ekranie je jako Hex
0b 89

I teraz pytanie: jak zrobić aby otrzymać liczbę 2953 (10).
Może jakiś prosty przepis lub wzorek?--Radek B.

0

wynik=test-&gtliczba1*256+test-&gtliczba2;

czy jak to sie tam w tym C pisze. Notabene zasadniczo jako pierszwy daje sie mniej znaczacy bajt.--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

Dzięki. Właśnie zauważyłem dlaczego mi ten sposób jak ty piszesz nie wychodziło.
Okazało się że popełniłem błąd w rachunkach. A więc korekta:
89(16) to nie 59(10) ale
89 to 137 w Hex.
I wszystko jasne.
Dla tych co nie wiedzą skąd liczba 256

0b1616+89=0b*256+89=0b89= 2953(10)--Radek B.

1 użytkowników online, w tym zalogowanych: 0, gości: 1