Prosiłbym o pomoc w rozwiązaniu (rozpisaniu) poniższego zadania - bo mam pojęcia jakkolwiek się do niego zabrać, a jest ona jednym z wyżej punktowanych u mnie...
Zadanie.
Liczbę dziesiętną 4 260 012 860 zamień na liczbę binarną (0/1). W zapisie liczby binarnej rozdziel wyraźnie bajty. Przedstaw tę liczbę także w postaci szesnastkowej, używając cyfr 0, 1 ..., 9, A , B, C, D, E, F.
Przykładowo liczba 4300 zamieni się na 10CC hex czyli 1 0000 1100 1100... zwróć uwagę, że binarna postać liczby 4 260 012 860 ma najwyżej 32 bity, czyli 8 cyfr szesnastkowych.
Zamiana liczby dzięsiętnej na binarną.
Otrzymałeś(aś) rozwiązanie do zamieszczonego zadania? - podziękuj autorowi rozwiązania! Kliknij
-
- Expert
- Posty: 6762
- Rejestracja: 19 mar 2011, 00:22
- Otrzymane podziękowania: 3034 razy
- Płeć:
-
- Expert
- Posty: 6762
- Rejestracja: 19 mar 2011, 00:22
- Otrzymane podziękowania: 3034 razy
- Płeć:
No to bierzemy kolejne reszty z dzielenia przez \(2\):
\(4 260 012 860:2=2 130 006 430\quad r=0\\
2 130 006 430:2=1 065 003 215\quad r=0\\
1 065 003 215:2=532 501 607\quad r=1\\
532 501 607:2=266 250 803\quad r=1\\\)
itd., dostajemy kolejne cyfry binarne poczynając od najmniej znaczącej, czyli wychodzi \(....1100\). Potem grupujemy cyfry po cztery i zamieniamy na szesnastkowe, więc będzie \(....C\)
\(4 260 012 860:2=2 130 006 430\quad r=0\\
2 130 006 430:2=1 065 003 215\quad r=0\\
1 065 003 215:2=532 501 607\quad r=1\\
532 501 607:2=266 250 803\quad r=1\\\)
itd., dostajemy kolejne cyfry binarne poczynając od najmniej znaczącej, czyli wychodzi \(....1100\). Potem grupujemy cyfry po cztery i zamieniamy na szesnastkowe, więc będzie \(....C\)
Napisałem do wykładowcy, po tygodniu raczył odpisać - zrobił inny przykład. Zamieszczam rozwiązane napisane przez niego.
Dla przykładu jest to inna liczba 3 836 226 682
Czemu ją dzieli przez 16? I jakby jakoś można było logicznie wytlumaczyć kolumne HEX i Bin - czytałem o tym w internecie, ale nie ma przykładów z takimi ogromnymi liczbami...
Dla przykładu jest to inna liczba 3 836 226 682
Czemu ją dzieli przez 16? I jakby jakoś można było logicznie wytlumaczyć kolumne HEX i Bin - czytałem o tym w internecie, ale nie ma przykładów z takimi ogromnymi liczbami...
-
- Fachowiec
- Posty: 2946
- Rejestracja: 20 gru 2013, 21:41
- Lokalizacja: Radom
- Otrzymane podziękowania: 1556 razy
- Płeć:
Re: Zamiana liczby dzięsiętnej na binarną.
Korzystając z WolframAlpha.com możesz przyspieszyć naukę.
Instrukcja : BaseForm[ x,b] podaje zapis liczby \(x\) w systemie liczbowym o podstawie \(b\)
Wpisujesz w oknie edycji komendę : BaseForm[ 4260012860,2] czyli konwertujesz swoją liczbę na układ binarny( dwójkowy) i dostajesz to co poniżej
http://www4b.wolframalpha.com/Calculate ... =199.&h=18.
Wpisujesz : BaseForm[ 4260012860,16] , czyli konwertujesz twoją liczbę do układu szestnastkowego czyli na HEX i dostajesz
http://www4b.wolframalpha.com/Calculate ... w=60.&h=18.
Natomiast sam algorytm konwersji to wyjaśnił już Octahedron .
Jeżeli chcesz zamienić na liczbę w układzie szestnastkowym do musisz dzielić przez \(16\)
Dostaniesz wtedy jak dla twojej liczby następujące przedstawienie \(4260012860_{10}=a3c500_{16}=0+0 \cdot 16^1+5 \cdot 16^2+12\cdot16^3+3 \cdot 16^4+10 \cdot 16^5\)
Instrukcja : BaseForm[ x,b] podaje zapis liczby \(x\) w systemie liczbowym o podstawie \(b\)
Wpisujesz w oknie edycji komendę : BaseForm[ 4260012860,2] czyli konwertujesz swoją liczbę na układ binarny( dwójkowy) i dostajesz to co poniżej
http://www4b.wolframalpha.com/Calculate ... =199.&h=18.
Wpisujesz : BaseForm[ 4260012860,16] , czyli konwertujesz twoją liczbę do układu szestnastkowego czyli na HEX i dostajesz
http://www4b.wolframalpha.com/Calculate ... w=60.&h=18.
Natomiast sam algorytm konwersji to wyjaśnił już Octahedron .
Jeżeli chcesz zamienić na liczbę w układzie szestnastkowym do musisz dzielić przez \(16\)
Dostaniesz wtedy jak dla twojej liczby następujące przedstawienie \(4260012860_{10}=a3c500_{16}=0+0 \cdot 16^1+5 \cdot 16^2+12\cdot16^3+3 \cdot 16^4+10 \cdot 16^5\)
-
- Stały bywalec
- Posty: 501
- Rejestracja: 15 sie 2012, 21:03
- Podziękowania: 12 razy
- Otrzymane podziękowania: 275 razy
Re: Zamiana liczby dzięsiętnej na binarną.
Podstawą w systemie hex jest liczba 16 trzeba więc naszą liczbę przedstawić przy pomocy potęg liczby 16
Najpierw prosty przykład
\(998=62 \cdot 16^1+6 \cdot 16^0=\underbrace {(3 \cdot 16^1+14)}_{62} \cdot 16^1+6 \cdot 10^0=3 \cdot 16^2+14 \cdot 16^1+6 \cdot 10^0\)
jak widać mnożniki kolejnych potęg to kolejne reszty z dzielenia przez 16
cyframi kodu hex są 0,1,2,3,4,5,6,7,8,9,A (zastępuje 10),B(zastępuje 11),C(zastępuje 12),D(zastępuje 13),E(zastępuje 14),F(zastępuje 15)
liczba zapisana w kodzie hex to mnożniki kolejnych potęg zapisane przy pomocy cyfr kodu hex
czyli zamiast 3 14 6 mamy 3E6
(analogicznie w systemie dziesiętnym 253 to \(2 \cdot 10^2+5 \cdot 10^1+3 \cdot 10^0\))
w zadaniu zrobionym przez wykładowcę pierwsza reszta wyszła równa 10 więc w kodzie hex to A
teraz przedstawiamy 10 w kodzie binarnym \(10=1 \cdot 2^3+0 \cdot 2^2+1 \cdot 2^1+0 \cdot 2^0\)
czyli 10 w kodzie binarnym to 1010
Najpierw prosty przykład
\(998=62 \cdot 16^1+6 \cdot 16^0=\underbrace {(3 \cdot 16^1+14)}_{62} \cdot 16^1+6 \cdot 10^0=3 \cdot 16^2+14 \cdot 16^1+6 \cdot 10^0\)
jak widać mnożniki kolejnych potęg to kolejne reszty z dzielenia przez 16
cyframi kodu hex są 0,1,2,3,4,5,6,7,8,9,A (zastępuje 10),B(zastępuje 11),C(zastępuje 12),D(zastępuje 13),E(zastępuje 14),F(zastępuje 15)
liczba zapisana w kodzie hex to mnożniki kolejnych potęg zapisane przy pomocy cyfr kodu hex
czyli zamiast 3 14 6 mamy 3E6
(analogicznie w systemie dziesiętnym 253 to \(2 \cdot 10^2+5 \cdot 10^1+3 \cdot 10^0\))
w zadaniu zrobionym przez wykładowcę pierwsza reszta wyszła równa 10 więc w kodzie hex to A
teraz przedstawiamy 10 w kodzie binarnym \(10=1 \cdot 2^3+0 \cdot 2^2+1 \cdot 2^1+0 \cdot 2^0\)
czyli 10 w kodzie binarnym to 1010