I am learning C language and got the following range of primitive data types:

I dont know where the values in the Range column come from.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
If
intis 16-bit, it means there are2^16different values. Of these,2^15 (= 32,768)(half) are negative,2^15 - 1 (= 32,767)are positive and the last one is0.The same reasoning can be used for 8-bit, 32-bit or any other size of integer.
For floating point numbers (float and double), the how the range is explained on Wikipedia or on Steve Hollasch’s page on IEEE Standard 754 Floating Point Numbers.