Konwersja liczb na każdy system

0

Witam,
wiem jak przeliczyć liczby całkowite z system dziesiętnego na każdy inny system (np. binarny, heksadecymalny, czwórkowy, 15-stokowy) i odwrotnie (czyli na dziesiętny). Niestety mam problemy ze znalezieniem informacji jak przeliczyć liczby ułamkowe.
Jedyny algorytm, który znalazłem opiera się na odejmowaniu kolejnych ujemnych potęg 2:

0,378 - 2^-2 = 0.378 | 0
0,378 - 2^-3 = 0,253 | 1
0,253 - 2^-4 = 0,1905 | 1
...

Niestety nie wiem jak zastosować ten algorytm w przypadku przeliczania pomiędzy innymi systemami.
Możecie coś narodzić?

1

Z dziesiętnego na jakikolwiek inny, zadanie sprowadza się do mnożenia przez podstawę systemu, który chcemy otrzymać. Złóżmy, że mamy liczę (0.55078125) w systemie 10tnym i chcemy zamienić na system 4kowy:
40.55078125 = 2.203125
Bierzemy część całkowitą z nowo powstałej liczby (czyli 2) i mnożymy część ułamkową tej liczby dalej:
4
0.203125 = 0.8125 (bierzemy 0)
4 0.8125 = 3.25 (bierzemy 3)
4
0.25 = 1.0 (bierzemy 1)
A więc:
(0.55078125) w 10tnym = (0.2031) w 4kowym

0

A zna ktoś uniwersalny sposób? Tak, żeby działał z każdego systemu na każdy?

0

@Zjarek:
A jak by to wyglądało dla liczby binarnej 10001,10000101? Powiedzmy, że chcę znać jej wartość dziesiętną i szóstkową.

0

Zrobię tylko na szóstkowy, bo i tak się nudzę:
10001,10000101
Zamieniając część całkowitą otrzymujemy 25.
6 w systemie dwójkowym to 110
Postępując tak jak wyżej mamy:
110*,10000101=
11,00011110
Czyli na razie mamy 25,3, idąc dalej (w skrócie, pomijam obcinanie części całkowitych i mnożenie) otrzymujemy:
0,1011010 ->25,30
100,00111 ->25,304
1,0101 ->25,3041
1,111 ->25,30411
101,010 ->25,304115
1,1 ->25,3041151
11,0 ->25,30411513

0

Fajnie ze sie nudzisz,
a może tak zamień ciag 8 miliardów losowych zer i jedynek na dziesiętne.

ile czasu by to zajęło?
i potem na odwrót to co jest w dziesietnych na binarne.
Nie chodzi mi tu o kilka bajtów ,ale o np kilka Giga bajtów zer i jedynek.jak to zrobić?

0

http://lucc.pl/inf/architektura_komputerow1/2009-_2_liczby_i_konwersje.pdf

Tam masz opisane systemy liczbowe, bez konkretnych podstaw, ale systemy naturalne, uzupełnieniowe, nego-bazowe, znak/moduł etc. etc. W drugiej części masz opisaną konwersje baz ( czyli to o co pytasz). Algorytmy uniwersalne dla liczb całkowitych, ułamkowych wymiernych, ułamkowych niewymiernych, ujemnych etc.

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