ในโปรแกรมนี้เราจะดูวิธีแปลงจำนวนเต็มเป็นสตริงฐานสิบหก (hex string) เพื่อแปลงจำนวนเต็มเป็นสตริงฐานสิบหก เราสามารถทำตามขั้นตอนทางคณิตศาสตร์ได้ แต่ในที่นี้เราแก้ปัญหาด้วยวิธีง่ายๆ
ใน C / C++ มี format specifier %X ใช้พิมพ์ค่าตัวแปรในรูปแบบฐานสิบหก เราใช้ format specifier นี้แปลงตัวเลขเป็นสตริงโดยใช้ sprintf()
Input: จำนวนเต็ม 255 Output: FF
อัลกอริทึม
ขั้นตอน 1: รับตัวเลขจากผู้ใช้ ขั้นตอน 2: สร้างสตริงหลังจากแปลงตัวเลขด้วย format specifier %X ขั้นตอน 3: พิมพ์ผลลัพธ์ ขั้นตอน 4: จบ
ตัวอย่างโค้ด
#include <iostream>
using namespace std;
main() {
int n;
char hex_string[20];
cout << "Enter a number: ";
cin >> n;
sprintf(hex_string, "%X", n); // แปลงตัวเลขเป็น hex
cout << hex_string;
}
ผลลัพธ์
Enter a number: 250 FA