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

Przeliczanie z trybu dziesietnego na tryb binarny - problem z odwroceniem

Ostatnio zmodyfikowano 2014-10-24 16:13
Autor Wiadomość
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;
}

}
P-119200
walus1305
» 2014-10-23 11:31:58
masz kalkulator na 20

C/C++
#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 ]
P-119248
Rashmistrz
» 2014-10-23 15:24:49
Ja wpadłem na genialny pomysł
jak łatwo zamienić i odwrócić. ^_^

P-119255
walus1305
» 2014-10-23 15:45:39
to może się nim podzielisz.
P-119256
Rashmistrz
» 2014-10-23 15:53:23
Oto moja wizja:
C/C++
//23.10.2014r Rashmistrz
#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 }; // 2014 binarnie
    int decimal = bin_to_dec( binary );
    cout << decimal << '\n';
    return 0;
}
.

EDIT: Ukryłem swoje co poniektóre dane osobowe.
P-119257
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
P-119276
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.
P-119287
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
P-119303
« 1 »
  Strona 1 z 1