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

Odpowiedz Nowy wątek
2011-10-24 17:33

Rejestracja: 9 lat temu

Ostatnio: 7 lat temu

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?

Pozostało 580 znaków

msm
2011-10-24 19:17
msm
Administrator

Rejestracja: 11 lat temu

Ostatnio: 1 tydzień temu

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.

edytowany 2x, ostatnio: msm, 2011-10-24 19:18

Pozostało 580 znaków

2011-10-24 19:36

Rejestracja: 11 lat temu

Ostatnio: 1 dzień temu

Lokalizacja: Redmond, WA

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


░█░█░█░█░█░█░█░█░█░█░█░
edytowany 5x, ostatnio: krwq, 2011-10-24 19:38

Pozostało 580 znaków

Odpowiedz

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