Няма смисъл да ползваш битови операции за да намериш двоичния запис. Делиш целочислено числото на 2 и му вземаш остатъка, докато числото не ти стане 0, и вземаш остатъците наобратно.
int dec_to_bin ( int num ) {
int a[16];
int i, pos = 0;
while ( num ) {
a[++ pos] = num % 2;
num /= 2;
}
for ( i = pos; i >= 1; -- i ) {
cout << a[i];
}
}
Последно редактирано от Foreverbg : 11-28-2012 на 18:58