Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ช่วงประเภทข้อมูลและมาโครใน C++


ภารกิจคือการค้นหาช่วงหน่วยความจำของประเภทข้อมูลต่างๆ ว่าช่วงค่าใดที่ชนิดข้อมูลสามารถเก็บค่าจากค่าต่ำสุดไปยังค่าสูงสุดได้ มีช่วงหน่วยความจำของประเภทข้อมูลที่สามารถจัดเก็บค่าของข้อมูลได้ เป็นการยากที่จะจำช่วงค่าขนาดใหญ่ ดังนั้น C++ จึงมีมาโครสำหรับแทนตัวเลขเหล่านี้ ตั้งแต่มาโครตัวเลขขนาดใหญ่เหล่านี้สามารถกำหนดให้กับตัวแปรได้โดยตรงโดยไม่ต้องพิมพ์ช่วง Number ทั้งหมด

ตัวอย่าง

'char' (ลงนาม) เป็นประเภทข้อมูลอักขระและมีช่วงตั้งแต่ -128 ถึง +128 และมาโครสำหรับค่าต่ำสุด มาโครเพื่อค้นหาค่าช่วงของประเภทข้อมูล char คือ CHAR_MIN และ CHAR_MAX

ในทำนองเดียวกัน เราสามารถค้นหาช่วงของประเภทข้อมูลใดก็ได้โดยใช้มาโคร MIN และ MAX เช่น "int" ที่เราสามารถใช้ INT_MIN และ INT_MAX

ช่วงของอักขระ

128 ถึง +128

ช่วงของ int

-2147483648 ถึง +2147483648

ตัวอย่าง

รหัส C++ เพื่อแสดงมาโครของประเภทข้อมูล

#include<iostream.h>
#include<float.h>
#include<limits.h>
Using namespace std;
int main( ) {
   cout<< " Range of Char :” << CHAR_MIN<< " to ”<<CHAR_MAX;
   cout<< " Range of int :” <<INT_MIN<< " to " <<INT_MAX;
   cout<< " Range of float :” <<FLT_MIN<< " to " <<FLT_MAX;
   cout<< " Range of double :” <<DBL_MIN<< " to " <<DBL_MAX;
   cout<< " Range of short char :” <<SCHAR_MIN<< " to " <<SCHAR_MAX;
   cout<< " Range of Unsigned Char :” << 0 << " to " <<UCHAR_MAX;
   cout<< " Range of long int :” <<LONG_MIN<< " to " <<LONG_MAX;
   cout<< " Range of Unsigned int :” << 0 << " to " <<UINT_MAX;
   cout<< " Range of short int :” <<SHRT_MIN<< " to " <<SHRT_MAX;
   cout<< " Range of float Negative :” <<-FLT_MIN<< " to " <<-FLT_MAX;
   cout<< " Range of double negative:” <<-DBL_MIN<< " to " <<-DBL_MAX;
   Return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

Range of char: -128 to 127
Range of int: -2147483648 to 2147483648
Range of float: 1.17549e-38 to 3.40282e+38
Range of double: 2.22507e-308 to 1.79769e+308
Range of Short char: -128 to 127
Range of Unsigned Char: 0 to 255
Range of long int: -922337203685477580 to 922337203685477580
Range of Unsigned int: 0 to 42944967295
Range of Short int: -32768 to 32767
Range of float negative: -1.17549e-38 to -3.40282e+38
Range of double negative: 2.22507e-308 to 1.79769e+308