ใน C++ เรามีประเภทข้อมูลที่แตกต่างกัน เช่น int, char, double เป็นต้น ในส่วนนี้เราจะมาดูวิธีหาขนาดของข้อมูลเหล่านี้โดยทางโปรแกรม
เราสามารถหาขนาดของประเภทข้อมูลเป็นไบต์ได้ ดังนั้นเราสามารถคูณพวกมันเป็น 8 เพื่อให้ได้ค่าเป็นบิต ตอนนี้เรารู้แล้วว่าถ้าจำนวนบิตเป็น n แล้วช่วงต่ำสุดจะเป็น – 2^(n-1) และช่วงสูงสุดจะเป็น 2^(n-1) – 1 สำหรับตัวเลขที่มีลายเซ็น สำหรับตัวเลขที่ไม่มีเครื่องหมาย จะเป็น 2^n – 1 เนื่องจากไม่มีตัวเลขติดลบ
โค้ดตัวอย่าง
#include#include #define SIZE(x) sizeof(x) * 8 //รับขนาดเป็น bitsusing เนมสเปซ std;void getRange (ชนิดสตริง int n) { if (type.compare ("ลงนาม") ==0) {// สำหรับตัวเลขที่ลงนามแล้วคำนวณขีด จำกัด ล่างและบน int min =pow (2, n - 1); int max =pow(2, n - 1) - 1; cout <<"ช่วงจาก" <<(-1) * นาที <<" ถึง " < ผลลัพธ์
For Signed int:Range from -2147483648 to 2147483647For Signed float:Range from -2147483648 to 2147483647For Unsigned int:Range from 0 to -2147483648For Unsigned short:Range from 0 to 65535For Signed char:Range from -128 to 127ก่อน>