2012-03-03 43 views
0

我学习C语言,得到了以下范围基本数据类型:C中原始数据类型的范围?

enter image description here

我不知道在哪里的范围列中的值的来源。

+0

它来自...长度列中列出的字节数。 – 2012-03-03 14:08:10

+0

[C中的任何类型保证最小大小的可能重复](http://stackoverflow.com/questions/1738568/any-guaranteed-minimum-sizes-for-types-in-c) – Joe 2012-03-03 14:15:44

回答

2

如果int是16位,则表示有2^16不同的值。其中,2^15 (= 32,768)(一半)为负数,2^15 - 1 (= 32,767)为正,最后一项为0

相同的推理可用于8位,32位或任何其他大小的整数。

对于浮点数(float和double),范围是explained on Wikipedia或Steve Hollasch的页面IEEE Standard 754 Floating Point Numbers

+0

为什么必须为-1积极? (2^15 - 1) – ipkiss 2012-03-03 14:20:22

+0

'0'占据一个点,所以两者不能是'2^15'。你可以把它看作是“2^15”负整数和“2^15”非负整数(即包括“0”),这使得总共有2^16个整数。 – 2012-03-03 14:24:20