Salve, volevo sapere che errore c' è nel mio programma. L' algoritmo penso che vada bene ma probabilmente l' errore principale sta nel if per far scrivere 0 e 1. Cosa devo correggere? Il vero problema è che devo far scrivere i numeri in binario direttamente nel verso giusto nel vettore.
codice:#include <windows.h> #include <cstdlib> #include <iostream> #include <math.h> #define binario_MAX 8 using namespace std; int main () { int binario [binario_MAX], i; int dec, x; cout << "Inserisci il numero: "; cin >> dec; x = dec; if (dec > pow(2, binario_MAX)) { cout << "Il numero inserito deve essere minore di " << pow (2, binario_MAX) << "!"; } else { for (i = 0; i < binario_MAX; i++) { if (dec / 2 == 0) { binario [i] = 0; } else { binario [i] = 1; } dec = dec / 2; } cout << "Il numero " << x << " in binario e': "; for (i = 0; i < binario_MAX; i++) { cout << binario [i]; } } system ("pause>nul"); return 0; }

Rispondi quotando
