Przeliczanie z trybu dziesietnego na tryb binarny - problem z odwroceniem
Ostatnio zmodyfikowano 2014-10-24 16:13
WCK Temat założony przez niniejszego użytkownika |
Przeliczanie z trybu dziesietnego na tryb binarny - problem z odwroceniem » 2014-10-22 11:49:28 Siemanko! Chce napisac skrypt który będzie przeliczał mi liczby z formatu dziesiętnego na binarny - założenie jest takie: wprowadzam liczbe (tu akurat z góry ustawiona 20) nastepnie dzielę ją przez dwa cały czas przez dwa i wynik z dzielenia (zera i jedynki) chce zapisać do tablicy. Doszedłem do takiego momentu w którym mam już wynik wyswietlany na ekranie, lecz chce go porpsotu dodać do tablicy i wyswietlic w odwrotnej kolejnosci - jakies propozycje sugestie? Jestem początkujący dlatego pytam - sam już nic nei wymyśle ( mysalem nad tym zeby zrobić wartość bezwzględną i odejmować jedynke od kazdej liczby ale nie wiem czy to zda egzamin)
#include <iostream>
using namespace std;
int main() { int liczba,reszta,x,d,n,rev; int tablica[100];
liczba = 20; x=0; for (tablica[x] = 10; tablica[x] >= 10; tablica[x]--){ while (liczba > 0){ tablica[x] = x+1; reszta = liczba%2; liczba = liczba/2; cout << reszta;
} d=n%10; rev=(rev*10)+d; n=n/10; cout << n; }
}
|
|
walus1305 |
» 2014-10-23 11:31:58 masz kalkulator na 20 #include <iostream>
using namespace std;
int main() { int liczba = 20, reszta = 0, i = 0; int tablica[ 10 ]; for( int a = 0; a < 10; a++ ) { tablica[ a ] = 0; } while( liczba >= 1 ) { i++; reszta = liczba % 2; liczba = liczba / 2; tablica[ i ] = reszta; } for( i; i >= 0; i-- ) { cout << tablica[ i ]; } cout << endl; system( "pause" ); } [ \c pp ] |
|
Rashmistrz |
» 2014-10-23 15:24:49 Ja wpadłem na genialny pomysł jak łatwo zamienić i odwrócić. ^_^
|
|
walus1305 |
» 2014-10-23 15:45:39 to może się nim podzielisz. |
|
Rashmistrz |
» 2014-10-23 15:53:23 Oto moja wizja: #include <iostream> #include <vector> using namespace std; int bin_to_dec( vector < bool > bin ) { unsigned short table_size, loop, position; table_size = bin.size(), loop = table_size, position = 0; int dec = 0; if( !table_size ) return 0; do { dec |= bin[ --loop ] << position++; } while( loop ); return dec; }
int main() { vector < bool > binary = { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0 }; int decimal = bin_to_dec( binary ); cout << decimal << '\n'; return 0; }
. EDIT: Ukryłem swoje co poniektóre dane osobowe. |
|
WCK Temat założony przez niniejszego użytkownika |
» 2014-10-23 22:09:54 Dzięki wielkie panowie! Walus podeslal najlepsze dla mnie rozwiaznie! Pozdrawiam i dziekuje |
|
walus1305 |
» 2014-10-24 08:59:36 @Rachmistrz
Ty w tym programi zamieniasz binary na dziesiętyn? bo jeśli tak to koledze chodziło dzisietnie na binarnie ale sposób ciekawy nie powiem. |
|
Rashmistrz |
» 2014-10-24 16:13:05 @walus1305 Przeliczanie z trybu dziesietnego na tryb binarny - problem z odwróceniem |
"problem z odwróceniem", więc poprawną dałem odpowiedź. C: Ale skoro tak to macie kod odwracający dziesiętny na binarny: :F //w trakcie pisania kodu |
|
« 1 » |