Computer >> Máy Tính >  >> Lập trình >> C ++

Phạm vi kiểu dữ liệu và macro của chúng trong C ++

Nhiệm vụ được giao là tìm phạm vi bộ nhớ của các kiểu dữ liệu khác nhau, để phạm vi giá trị mà một kiểu dữ liệu có thể lưu trữ giá trị từ giá trị nhỏ nhất đến giá trị lớn nhất. Có phạm vi bộ nhớ của loại dữ liệu mà từ đó giá trị của dữ liệu có thể được lưu trữ. Rất khó để nhớ dải giá trị lớn nên C ++ có macro để biểu diễn những số này, từ macro những số lớn này có thể được gán trực tiếp cho biến mà không cần nhập toàn bộ dải số.

Ví dụ

‘Char’ (có dấu) là kiểu dữ liệu ký tự và có phạm vi từ -128 đến +128 và macro cho giá trị nhỏ nhất, macro để tìm giá trị phạm vi của kiểu dữ liệu char là CHAR_MIN và CHAR_MAX.

Tương tự như vậy, chúng tôi có thể tìm phạm vi của bất kỳ kiểu dữ liệu nào bằng các macro MIN và MAX này, chẳng hạn như đối với ‘int’, chúng tôi có thể sử dụng INT_MIN và INT_MAX.

Phạm vi ký tự

128 đến +128

Phạm vi int

-2147483648 đến +2147483648

Ví dụ

Mã C ++ để chứng minh macro của các kiểu dữ liệu

#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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

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