Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zamiana liczby dziesiętnej na binarną

Ostatnio zmodyfikowano 2016-03-21 22:41
Autor Wiadomość
Gibas11
» 2016-03-21 20:57:30
Ten kod
C/C++
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. ;)
P-146382
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
P-146383
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? :)
P-146385
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.
P-146386
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.
P-146387
Monika90
» 2016-03-21 21:22:35
Masz napisać algorytm do zamiany liczby wymiernej, nie double.
P-146389
raiden95
Temat założony przez niniejszego użytkownika
program
» 2016-03-21 21:27:00
Jaśniej?
P-146391
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ść :)
P-146392
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona