Hiện thực chương trình chuyển đổi hệ cơ số thập phâ (hệ 10) sang các hệ khác từ hệ 2 đến hệ 16
Trong chương trình dưới đây, 2 hàm convertToBaseRec và convertToBase cùng thực hiên chức năng chuyển đổi cơ số nhưng dùng 2 phương pháp khác nhau: Lặp tuần tự (lệnh while) và Đệ quy.
[ code ]
void convertToBase(int, int);
void convertToBaseRec(int, int);
int base = 1 ; int number;
printf("Nhap so muon chuyen doi : ");
// Chỉ chấp nhận hệ cơ số từ 2 (bit) tới 16 (HEX)
//Theo phương pháp lặp while
printf("\n Ket qua chuyen doi (su dung ham tuan tu) : ");
convertToBase(base,number);
//Theo phương pháp đệ quy
printf("\n Ket qua chuyen doi (su dung ham de quy) : ");
convertToBaseRec(base,number);
void convertToBase(int base, int number)
//Mảng chứa các chữ số của hệ 16 [hex]
char digits[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
output[i++] = digits[number%base];
void convertToBaseRec(int base, int number)
char digits[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
//Gọi đệ quy hàm convertToBaseRec()
convertToBaseRec(base,number/base);
//Xuất kết quả ra màn hình
printf("%c",digits[number%base]);
|
|