Zamiana liczby dziesiętnej na binarną
Ostatnio zmodyfikowano 2016-03-21 22:41
raiden95 Temat założony przez niniejszego użytkownika |
Zamiana liczby dziesiętnej na binarną » 2016-03-21 18:56:57 Mógłby ktoś zerknąć na kod i powiedzieć czemu to nie zamienia poprawnie. Jeśli przykładowo podaje liczbę rzeczywistą 5.375 to w postaci binarnej zamienia ją ładnie ale w przypadku już liczby 27.86 już nie. Proszę o pomoc. Z góry dziękuje Mój kod: #include<iostream> #include<cstdlib> #include<cmath> using namespace std; void binarny_1( int y ) { int i = 0, tab_1[ 31 ]; while( y != 0 ) { tab_1[ i ] = y % 2; y = y / 2; i = i + 1; } for( int j = i - 1; j >= 0; j-- ) { cout << tab_1[ j ]; } } void binarny_2( double z ) { int i = 0, tab_2[ 31 ]; while( z != 1 ) { z = z * 2; if( z > 1 ) { tab_2[ i ] = 1; z = z - 1; } else if( z == 1 ) tab_2[ i ] = 1; else tab_2[ i ] = 0; i = i + 1; } for( int j = 0; j <= i - 1; j++ ) { cout << tab_2[ j ]; } } int main() { for(;; ) { double x; int d, t_m, b, bias; int y; double z; cout << "Podaj liczbe rzeczywista na ktorej chcesz dokonac konwersji na reprezentacje zmiennopozycyjna "; cin >> x; y =( int ) x; z = x -( int ) x; binarny_1( y ); cout << "."; binarny_2( z ); cout << "\n"; } system( "PAUSE" ); return 0; } |
|
raiden95 Temat założony przez niniejszego użytkownika |
program » 2016-03-21 20:00:58 Ma ktoś pomysł? :( |
|
Gibas11 |
» 2016-03-21 20:03:13 Ja mam – wstaw kod w znaczniki [cpp]//tu kod[/cpp] , bo pozjadało Ci indeksy i to się nawet nie kompiluje. |
|
raiden95 Temat założony przez niniejszego użytkownika |
program » 2016-03-21 20:16:45 Teraz może być? :) |
|
Gibas11 |
» 2016-03-21 20:29:16 A jakich wartości oczekujesz dla podanych przez ciebie danych? Mam rozwiązanie, ale chcę wiedzieć czy jest ok. |
|
raiden95 Temat założony przez niniejszego użytkownika |
» 2016-03-21 20:33:52 dla 27.86 11011.11011100001010001111010111000010100011110 dla 5.375 101.011 |
|
Gibas11 |
» 2016-03-21 20:40:07 |
|
raiden95 Temat założony przez niniejszego użytkownika |
program » 2016-03-21 20:43:12 To ma działać na zasadzie takiej że część całkowitą zamienia na binarną i część ułamkową liczby również :) |
|
« 1 » 2 3 |