[C/C++] Hiển thị số hệ 2, hệ 8, hệ 16 của số thập phân
VD: Nhập 1 số hệ 10 rồi xuất ra hệ 16.
#includeNếu bạn để ý kỹ thì trong code trên chúng ta vẫn sử dụng thuật toán chia cho 16 dùng đệ quy. Cách này cũng áp dụng tốt cho hệ 2 và hệ 8. Ngoài ra chúng ta có thể sử dụng hàm ltoa để chuyển đổi (các bạn tự search).#include void Hex(int n) { if (n < 16) { printf("%c","0123456789ABCDEF"[n]); // hien thi ky tu thu n trong chuoi return; } else Hex(n / 16); printf("%c","0123456789ABCDEF"[n % 16]); } int main() { int n; printf("Enter your number: "); scanf("%d", &n); printf("Number in hex:"); Hex(n); return 0; }
Vậy không dùng thuật toán thì làm thế nào? Đơn giản như sau:
#includeThật đơn giản và ngắn gọn phải không? :D.#include int main() { int n; printf("Enter your number: "); scanf("%d", &n); printf("Number in hex: %X", n); // in ra so Hex bang dinh dang %X return 0; }
Thông tin thêm:
Để biểu diễn một số thuộc kiểu gì đó dưới dạng một số hệ nào đó: ví dụ bạn nhập vào một số nguyên giờ muốn biểu diễn nó lên màn hình.
– Định dạng hệ 10 sử dụng %d
– Định dạng hệ 8 sử dụng %o
– Định dạng hệ 16 sử dụng %x (hoặc X để viết hoa các chữ cái)
Để ý, chúng ta có thể nhập được số hệ 16 hay hệ 8 và in ra các hệ 8, 10, 16 mà bạn muốn.
VD nhập vào số hệ 16 in ra số hệ 8, hệ 10.
#includeKQ:#include int main() { int n; printf("Enter your number in Hex: "); scanf("%x", &n); printf("Number in Oct: %on", n); printf("Number in Dec: %dn", n); return 0; }
Enter your number in Hex: D2F
Number in Oct: 6457
Number in Dec: 3375
0 nhận xét:
Đăng nhận xét