Code C\C++: Đổi cơ số 10 ra cơ số 2, 8, 16


/* Doi co so
- Nhap vao tu ban phim so nguyen a (2<a<256)
- Doi a ra co so 2
- Doi a ra co so 8
- Doi a ra co so 16
*/

#include<iostream.h>
#include<conio.h>
#include<stdio.h>

int a;

// nhap a
void Nhap_a(){
 do{
cout<<"\n a= "; cin>>a;
if(a<2||a>256)
cout<<"\n Nhap lai a! ";

 } while(a<2||a>256);
}
// doi ra co so 2
void DoiCoSo2(int a){
int m[8];// chua so so nhi phan
// khoi tao mang
int i;
for(i=0;i<8;i++) m[i]=0;
// doi cho so
i=7;
while(a!=0){
 m[i]=a%2;
 i--;
 a=a/2;
}
// in ra so nhi phan
cout<<"\n* So nhi phan la: ";
for(i=0;i<8;i++) cout<<m[i];
}
// Doi ra so co so 8
void DoiCoSo8(int a){
int m[8];// chua so so bat phan
// khoi tao mang
int i;
for(i=0;i<8;i++) m[i]=0;
// doi cho so
i=7;
while(a!=0){
 m[i]=a%8;
 i--;
 a=a/8;
}
// in ra so bat phan
cout<<"\n* So bat phan la: ";
for(i=0;i<8;i++) cout<<m[i];
}
// Doi ra so co so 16
void DoiCoSo16(int a){
char m[8];// chua so so thap luc phan
// khoi tao mang
int i;
for(i=0;i<8;i++) m[i]='0';
// doi cho so
i=7;
int du;
while(a!=0){
 du=a%16;
 switch(du){
case 0: m[i]='0'; break;
case 1: m[i]='1'; break;
case 2: m[i]='2'; break;
case 3: m[i]='3'; break;
case 4: m[i]='4'; break;
case 5: m[i]='5'; break;
case 6: m[i]='6'; break;
case 7: m[i]='7'; break;
case 8: m[i]='8'; break;
case 9: m[i]='9'; break;
case 10: m[i]='A'; break;
case 11: m[i]='B'; break;
case 12: m[i]='C'; break;
case 13: m[i]='D'; break;
case 14: m[i]='E'; break;
case 15: m[i]='F'; break;
 }
 i--;
 a=a/16;
}
// in ra so bat phan
cout<<"\n* So thap luc phan la: ";
for(i=0;i<8;i++) cout<<m[i];
}
// ham chinh
int main(){

 Nhap_a();
 DoiCoSo2(a);
 DoiCoSo8(a);
 DoiCoSo16(a);

 getch();
 return 0;
}

// Tài liệu C\C++

Danh mục bài viết