As per the link https://www.geeksforgeeks.org/data-types-in-c/2
If we assume long int takes 8 bytes (64 bits) then its range should be -2^63 to 2^63-1 , but that is not given in the link above. Why is it so?
And similarly unsigned long int should have range between 0 to 2^64 .
Please tell what will be the range for float, double and long double as it's not mentioned in link.
I would rather not use geeksforgeeks as the source of knowledge. There are more "imprecise" information on this page
C standard defines minimum ranges of the integer types
So the integer is not minimum 32 bits but 16 bits. The actual size can be checked in the
limits.hdefines (this comes from the C standard):C standard also sets the minimum range of the floating point types - but you need to check your
.hfile for the implementation values.The values given in the following list shall be replaced by implementation-defined constant expressions with values that are greater than or equal to those shown:
The values given in the following list shall be replaced by implementation-defined constant expressions with (positive) values that are less than or equal to those shown: