Konwersja pomiędzy systemami liczbowymi

0

Cześć, ja z zapytaniem czy jest może jakiś sprawniejszy sposób na zamianę liczby np. 1724(10) na system (7) ?
Znam ten tzw. sposób maszynowy z dzieleniem przez 7 i zapisywaniem reszty, ale jest może jakiś szybszy :P

0
n12 n11 n10 n09 n08 n07 n06 n05 n04 n03 n02 n01
2048 1024 512 256 128 64 32 16 8 4 2 1
0 1 1 0 1 0 1 1 1 1 0 0
4 2 1 4 2 1 4 2 1 4 2 1
0 1 1 0 1 0 1 1 1 1 0 0
+ + + + + + + + + + + +
3 2 7 4

(0+2+1) (0+1+0) (4+2+1) (1+0+0) => 32747

172410 => 32747

Zauważ, że im system liczbowy ma mniej cyfr do dyspozycji tym zapis tej liczby jest dłuższy. Przy zapisie szesnatkowym daną wartość możemy zapisać w sposób dość skrócony, czyli mniej cyfr będzie niż np. w dziesiętnym, ale już np. w ósemkowym będzie ich więcej przeważnie, bo mamy mniej cyfr, którymi możemy zapisać wartość.

Tam, gdzie jest jedynka, to trzeba dodać cyfrę do cyfry następnej, przy której też stoi jeden.

Polecam jeszcze ten film.

Zadanie. Przelicz liczbę z systemu dziesiętnego na czwórkowy. Żeby rozwiązać to zadanie, to musimy sprawdzić z ilu cyfr korzysta ten system. A no korzysta z czterech cyfr: 0, 1, 2, 3. Maksimum z tych cyfr to 3, bo to jest największa wartość. Ile potrzebujemy bitów, aby dostać "znak" 3, a no dwóch, bo ...8421. Widać, że tylko 1+2 da nam 3, więc będziemy grupować tylko po dwa bity.

Ile zatem to jest 1810 => X4?

n8 n7 n6 n5 n4 n3 n2 n1
0 0 0 1 0 0 1 0
2 1 2 1 2 1 2 1
+ + + + + + + +
0 1 0 2

Odpowiedź, jest to 01024, czyli 1024. 1810 => 1024

Jeśli wyszłaby mniejsza wartość niż źródłowa, to oznaczałoby najprawdopodobniej błędny wynik, ponieważ system dysponujący mniejszą ilością znaków najczęściej ma więcej znaków po konwersji od systemu, który ma tych znaków więcej, np. dziesiętny system na dziesięć znaków, a czwórkowy tylko cztery.

Zgodnie z tym filmem możesz liczby zamieniać tak.

4810 => X11

Podstawą jest 11, więc piszemy 11 do potęgi, której żeby rezultat nie przekroczył 48? Odpowiedź, to 11^1, tak 11 do potęgi 1. Dalej ile należy pomnożyć 11^1, żeby wartość nie przekroczyła liczby 48, a no 4, bo wtedy wyniesie wartość 44, a przy 5 byłoby źle, ponieważ rezultat to 55, a ta liczba już przekracza 48. I tak dalej postępujemy analogicznie z następnymi potęgami, aż do potęgi 0. Reasumując...

4*11^1+4*11^0 = 4411

4810 => 4411

Cyfry 4 i 4 to wszystkie cyfry przepisane z przykładu powyżej. Bierzemy wszyskie cyfry będące czynnikami 11.

Przeczytaj jeszcze tę lekturę.

W kalkulatorze Windowsa można sprawdzać konwersję bądź na tej stronie.
link link

0

Film ten już kiedyś oglądałem, ale przedstawione są tam standardowe konwersje binarna, ósemkowy, heksadecymalny te omówione sposoby znam :D, mi chodzi o niestandardowe liczby.

0

Co Masz na myśli, przez "niestandardowe liczby"?

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