Chcesz z nimi pracować razem? To proste
Załóżmy, że masz numer 2643 - w bazie 10. jeśli podzielisz go na połówki, będziesz miał coś w rodzaju 26 i 43, prawda? cóż, wiesz, że jeśli pomnożysz przez dwa, musisz pomnożyć od prawej do lewej i przenieść. Zrób to - pomnóż prawą stronę, a jeśli jest przepełnienie, dodaj to na lewą stronę, a następnie pomnóż lewą stronę.
Na przykład:
(37 82) *2 -> ((37*2) + overflow) + 64 -> (74 + 1) 64 -> 75 64
Zobacz, jak to działa? To samo dotyczy podziału - trzeba nosić? Kradnij z wyższego kawałka. Chcesz dodawać lub odejmować liczby? W końcu nie aż tak trudne!
Numery binarne działają w ten sam sposób.
(01110110 10110011) * 10 = (0) <- 1110110(1) <- 01100110
Zasadniczo obliczyć dolny koniec, a następnie obliczyć górny koniec, a następnie zastosować przelew.
Jaka architektura i asembler? –
Nie ma nic do konwersji. Po prostu zacznij traktować parę rejestrów jako parę reprezentującą 16-bitową liczbę. Sposób działania matematyki zależy od instrukcji dostępnych na platformie. – harold
Brak wskazówki. Pracuję z programatorem systemów wbudowanych. Mówi, że jest ograniczony. Może wysłać mi jeden bajt szesnastkowy. A potem kolejny bajt szesnastkowy. I powinienem móc zmienić je w 16-bitową liczbę. Ale nie jestem pewien jak. –