Zamiana liczby z systemu dziesiętnego na liczbę binarną.

0

Pytanie jak zamienić liczbę 19,625 na liczbę binarną?
Wiem jak zamienić 19, wiem jak zamienić też samo 0,625. A nie mam przykładu dla 19,25 lub innej liczby podobnej. Jak to się liczy poprawnie?

0

Pytanie zbyt ogólne... Zależy od tego w jaki sposób chcesz zakodować wynik - nie ma jednego sposobu reprezentowania liczb niecałkowitych (całkowitych w sumie też nie). W szczególności mogą cię zainteresować liczby stałoprzecinkowe (fixed point) - wtedy wybierasz sobie stałą ilość bitów na część całkowitą i ułamkową i zapisujesz w postaci [bity całkowite][bity ułamkowe] Gdzie obydwie części zawsze mają taką samą długość - albo floating point - wtedy wyliczasz używasz gotowego konwertera (np. http://babbage.cs.qc.edu/IEEE-754/Decimal.html) z wynikiem 010000011100111010000000000000000.

A jeśli potrzebujesz tego do szkoły bo nauczyciel wymaga to pewnie chodzi mu o zapis w rodzaju 1101,101 czyli z użyciem przecinka.

0
0.625
* 2
---
1.25   | 1

0.25
*2
---
0.5    | 0

0.5
*2
---
1.0    | 1


0.625 (DEC) = 0.101 (BIN)

0.101 (BIN) = 1* 2^(-1) + 0* 2^(-2) + 1* 2^(-3) = 1*0.5 + 0*0.25 + 1*0.125 = 0.625 (DEC)

może wyjść Ci wynik jako ułamek okresowy i da się łatwo sprawdzić jaki będzie okres. pozostawiam do samodzielnej kombinacji :)

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