Wątek przeniesiony 2018-11-27 16:48 z C/C++ przez kq.

Wytłumaczy ktoś bo nie wszystko rozumiem jak to obliczac?

Odpowiedz Nowy wątek
2018-11-27 17:31
0

Przedstaw jako okresowy ułamek binarny liczby:
3/8, tu mi wyszlo 0,10110

3 5/16 tu 011.1010

2 1/6, tu 010.10100

Jakie będą ich przybliżenia skończonymi ułamkami binarnymi z dokładnością do 4 i 8 cyfr?
Jak zrobic te przyblizenia i zastanawiam sie czy dobrze to wyszlo?

Pozostało 580 znaków

2018-11-27 17:36
kq
1

Kiedyś coś takiego skrobnąłem, wydaje się na temat: https://dev.krzaq.cc/post/how[...]-in-binary-or-any-other-base/

Twoje obliczenia są niepoprawne:

3 5/16 tu 011.1010

źle, 0.1010 to 10/16, a nie 5/16
Posprawdzaj z wolframem, np: https://www.wolframalpha.com/input/?i=(53%2F16)+base+2


Wszystkie źle? - Nency Black 2018-11-27 17:42
np. 5/8 to 0.101? - Nency Black 2018-11-27 17:42
Odpowiadaj w odpowiedziach. 5/8 to 0.101, ale w oryginalnym poście nie ma takiej liczby - kq 2018-11-27 17:45

Pozostało 580 znaków

2018-11-27 17:55
0

A te dwa inne są dobrze?
Bo to mnożę 3/8*2 wtedy wychodzi 0.10110(spisanie od dołu) czy 0,01101 (spisanie od góry)?

Pozostało 580 znaków

2018-11-27 17:56
kq
0

mnożenie przez 2 to przesunięcie wartości o 1 w lewo, tak jak mnożenie przez 10 w base 10. W rzeczy samej, jest to mnożenie przez 102.

0.0112*102 to 0.112


Pozostało 580 znaków

2018-11-27 18:05
0

A to ?
Jakie będą ich przybliżenia skończonymi ułamkami binarnymi z dokładnością do 4 i 8 cyfr?
Nie bardzo rozumiem jak to zrobić

Pozostało 580 znaków

2018-11-27 18:07
kq
0

Dokładnie to opisałem na blogu, pod linkiem wyżej.

1/6 nie ma skończonej reprezentacji binarnej (ani dziesiętnej, swoją drogą), więc możesz co najwyżej pokazać przybliżenie z dokładnością do tylu cyfr, ile sobie zażyczysz.


Pozostało 580 znaków

2018-11-27 18:27
0

Więc
3/8=0,011
3 5/16=11,0101
2 1/6=10,00(1010)
?

Pozostało 580 znaków

2018-11-27 18:28
kq
0

Tak, choć ten ostatni zapis trochę dziwny jest, bo:

  • jeśli zapisujesz okres, to po prostu zapisz 10.0(01)2
  • jak przybliżasz x cyfr po przecinku to przybliż do tylu, nie podawaj żadnych danych o okresowości

edytowany 1x, ostatnio: kq, 2018-11-27 19:02

Pozostało 580 znaków

2018-11-27 18:51
0

Nie bardzo rozumiem te przybliżenia i opis na tym poście byś mógł wytłumaczyć to na tych przykladach?

Pozostało 580 znaków

2018-11-27 19:03
kq
0

http://cs.furman.edu/digitaldomain/more/ch6/dec_frac_to_bin.htm

Ok, np. 3/8:

0.75 0.375 * 2
1.5 0.75 * 2
1.0 0.5 * 2
koniec, przenieśliśmy zero

Czyli 0.011

2 i 1/6. Część całkowita jest oczywista, 1/6:

​​
2/6 1/6 * 2
4/6 2/6 * 2
1 i 2/6 4/6 * 2
4/6 2/6 * 2 tutaj widać, że mamy okres, bo 2/6 jest wyżej

Zgodnie z tą samą zasadą, wartości mniejsze od 1 to zera, a równe bądź większe to jedynki:
0.0(01)


edytowany 2x, ostatnio: kq, 2018-11-27 19:06

Pozostało 580 znaków

2018-11-27 19:41
0

A 3 5/16

10/6  | 5/10*2
1 4/16 | 10*2

czyli 0.(01)?

edytowany 1x, ostatnio: kq, 2018-11-27 19:42

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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