• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pomoc w rozwiązaniu zadania

Cloud VPS
–1 głos
441 wizyt
pytanie zadane 18 kwietnia 2018 w C i C++ przez gimnazjum Nowicjusz (120 p.)
Liczbę 0.8 przedstaw w systemie dwójkowym jako reprezentację stałopozycyjną w formacie 1 bit znaku, 3 bity całkowita, 4 bity ułamkowa. Z góry dziękuję za pomoc :)

2 odpowiedzi

+4 głosów
odpowiedź 18 kwietnia 2018 przez Patrycjerz Mędrzec (192,320 p.)

Bit znaku jest zerowy, gdyż liczba jest dodatnia. Część całkowita jest zerowa, więc kolejne trzy bity są zerowe. Część ułamkowa natomiast nie jest możliwa do zapisania w skończonej liczbie bitów, gdyż z sum wag 2^-1, 2^-2, 2^-3, ... = 1/2, 1/4, 1/8, ... nie da się zapisać liczby 8/10. Musisz więc zaokrąglić tę reprezentację do czterech bitów, czyli 1100, co daje 2^-1 + 2^-2 = 1/2 + 1/4 = 0,75. Cała liczba będzie miała postać:

0|000|1100

0 głosów
odpowiedź 18 kwietnia 2018 przez k222 Nałogowiec (30,150 p.)
Dla ułatwienia - żebyś nie musiał zgadywać to są proste algorytmy na zamianę liczby na system dwójkowy - dla ułamka działa to tak, że mnożysz go przez 2, jeżeli część całkowita będzie 0 to zapisujesz 0, jeżeli 1 to zapisujesz 1 i odejmnujesz 1 od ułamka np.

0.8 * 2 = 1.6     1

0.6 * 2 = 1.2      11

0.2 * 2 = 0.4     110

0.4 * 2 = 0.8     1100

tutaj możemy zauważyć że mamy tę samą liczbę co na początku więc jest to ułamek okresowy który będzie wyglądał tak: 0.11001100110011001100 ... więc dla 4 bitów zapiszesz 1100

 

 

co do zamiany liczby całkowitej na dwójkowy jest podobnie z tym że dzielisz daną liczbę przez 2 i zapiszujesz reszty obok,  odwrócone reszty dają ci liczbę w dwójkowym np.

39 % 2 = 19 r. 1           1

19 % 2 = 9  r. 1          11

9 % 2 = 4 r 1        111

4 % 2 = 2 r 0      1110

2 % 2 = 1 r 0    11100

1 % 2 = 0 r 1  111001

i na końcu musisz tylko to co powstało obrócić czyli 39 = 100111

Podobne pytania

+1 głos
2 odpowiedzi 901 wizyt
pytanie zadane 17 grudnia 2017 w JavaScript przez ldqpbl Nowicjusz (130 p.)
0 głosów
2 odpowiedzi 552 wizyt
pytanie zadane 16 października 2018 w C i C++ przez periedynek Obywatel (1,320 p.)
0 głosów
1 odpowiedź 249 wizyt
pytanie zadane 2 listopada 2018 w Visual Basic przez KonDZIKs Bywalec (2,850 p.)

93,488 zapytań

142,421 odpowiedzi

322,772 komentarzy

62,906 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...