Zamiana liczby dziesiętnej na binarną
Ostatnio zmodyfikowano 2016-03-21 22:41
Gibas11 |
» 2016-03-21 20:57:30 Ten kod double poPrzecinku( double d ) { return d -(( uint64_t ) d ); }
void binarny_2( double z ) { uint64_t l1 = z; double l2 = poPrzecinku( z ); while( fabs( l2 - round( l2 ) ) > 0.0001 ) l2 *= 10; binarny_1( l1 ); cout << '.'; binarny_1( round( l2 ) ); cout << endl; }
Wywołuje twoją funkcję binary_1 z poprawnymi danymi, nie daje oczekiwanych wyników, ale to raczej dobrze – nie powinna. 5.375 Nie może być równe 101.011, bo 375 raczej nie mieści się w trzech bitach. ;) |
|
raiden95 Temat założony przez niniejszego użytkownika |
program » 2016-03-21 21:01:21 375 nie mieści się ale 0.375 tak ;) Przykład z tym 5.375 5 = 101 0.375 = 011 5.375 = 101.011 |
|
raiden95 Temat założony przez niniejszego użytkownika |
program » 2016-03-21 21:07:10 Rozumiem że inaczej Pan zinterpretował to co napisałem? :) |
|
Monika90 |
» 2016-03-21 21:16:26 Wczytuj osobno część całkowitą i osobno ułamkową do zmiennych typu int, tzn. 27.86 traktujesz jak 27 i 86/100 i obie liczby konwertujesz osobno. 86/100 jako liczbę wymierną, a nie double. |
|
raiden95 Temat założony przez niniejszego użytkownika |
program » 2016-03-21 21:18:36 Jak spojrzała Pani na mój kod tak zrobiłem jednak coś jest źle bo nie zamienia każdej liczby tak jak powinno. |
|
Monika90 |
» 2016-03-21 21:22:35 Masz napisać algorytm do zamiany liczby wymiernej, nie double. |
|
raiden95 Temat założony przez niniejszego użytkownika |
program » 2016-03-21 21:27:00 Jaśniej? |
|
raiden95 Temat założony przez niniejszego użytkownika |
program » 2016-03-21 21:29:59 12360308 najlepiej jeśli ktoś kto ma czas i chciałby pomóc napisał by na podany przez mnie nr gg bo tak ta rozmowa będzie trwać wieczność :) |
|
1 « 2 » 3 |