Zrozumieć Asembler
Kolumna nr 5 zawiera 0. Pomijamy ją.
Kolumna nr 6 zawiera 1. Wartość dla tej kolumny wynosi 64, które dodajemy do sumy
Kolumna 7 zawiera 1. Wartość dla tej kolumny wynosi 27, czyli 128. Dodajemy 128 do sumy. Ile mamy teraz łącznie? 218.
Przekształcanie liczb dziesiętnych na dwójkowe wykonujemy dokładnie tak samo, jak dziesiętnych na heksadecymalne. W poprzednim punkcie jest to dokładnie opisane, również w punkcie 1.8 znajdziesz dodatkowe informacje. Zauważyłeś tu na pewno, że liczenie kolumn zacząłem od 0. Liczymy tak z dwóch powodów. Zaczynamy liczyć od bitu zerowego, czyli od zerowej potęgi w danym systemie liczbowym. Takie liczenie jest również niezbędne przy ustalaniu adresu, o czym będziemy mówić później.
A teraz poćwiczmy trochę przekształcanie liczb dwójkowych na dziesiętne.
1 10 1 0001 11111
1 1 101
1100010111010010
11000
1011
Teraz kilka liczb dziesiętnych na dwójkowe:
77 42 106 255 1 8
6309
121
58
1 8446
Jeśli dla przedstawienia zwykłej trzycyfrowej liczby, takiej jak 218, w systemie dwójkowym potrzeba aż ośmiu cyfr, to wydaje się, że system dwójkowy nie jest najlepszym pomysłem. Oczywiście dla nas jest to zupełnie niepotrzebne i wydaje się, że nawet isLoty z dwoma tylko palcami wymyśliłyby sobie jakiś inny system liczbowy.
Ale komputer jest urządzeniem elektrycznym. Zamiast tworzyć skomplikowane układy sprawdzające o ile zmieniło się napięcie czy wartość prądu przekazującego informacje, najprościej jest sprawdzać, czy prąd jest, czy go nie ma, czy to napięcie jest, czy nie. Ponieważ szybkość takich zmian może być naprawdę bardzo duża, okazało się, że tą metodą można przekazać bardzo dużo informacji.
Natomiast dla wygody człowieka powstał system skrótowego wyrażania liczb dwójkowych.
Liczba 218 w systemie dwójkowym będzie przedstawiona jako 11011010B. Natomiast ta sama liczba przedstawiona w systemie szesnastkowym będzie dużo krótsza: 13AH. Dwie cyfry heksadecymalne są znacznie łatwiejsze do przeczytania czy zapamiętania.
AH (a raczej OAH zgodnie z wymaganiami Asemblera, które omówię później) odpowiada 10 dziesiętnie. Przekształcanie liczby dziesiętnej na dwójkową wymaga określania, które potęgi dwójki mieszczą się w tej liczbie. Największa potęga 2 mieszcząca się w 10 to 8. Zapiszmy 1 i odejmijmy 8 od 10. Zostaje 2. Kolejna wartość potęgi 2, czyli 4, nie mieści się w otrzymanej reszcie 2. Zapisujemy więc 0 z prawej strony jedynki. Następna mniejsza wartość potęgi 2 jest 2 i ta dwójka mieści się w ostatniej różnicy. Zapisujemy więc 1 z prawej strony ostatniego zera. Pozostaje nam różnica 0, lak że jako kolejną ostatnią cyfrę wyniku zapisujemy 0 dla kolumny jednostek. Otrzymaliśmy w ten sposób liczbę dwójkową:
10 10