C++ Soru : Onluk ve ikilik taban
Soru : Onluk tabandaki bir sayiyi 2 lik tabana çevirerek 2 lik tabandaki değerini tersten yazdırınız ve yeni bu değerin 10 luk tabandaki karşılığını yazıdırınız. Cevap :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#include <iostream> #include <cmath> using namespace std; int main() { int sayi,eskiSayi,onlukTabandakiDeger=0,i; cout<<"Bir sayi giriniz : "; cin>>sayi; eskiSayi=sayi; cout<<eskiSayi<<" sayisinin ikilik tabandaki ters yazilmis : "; for(i=0;;i++) { if(sayi<2) { cout<<(sayi%2); break; } cout<<(sayi%2); sayi=sayi/2; } for(int k=i;k>=0;k--) { if(eskiSayi<2) { onlukTabandakiDeger+=pow(2,k); break; } onlukTabandakiDeger+=(pow(2,k)*(eskiSayi%2)); eskiSayi=eskiSayi/2; } cout<<"\nYeni Onluk Tabandaki Sayimiz : "<<onlukTabandakiDeger; return 0; } |