读书人

关于C语言中size of 的有关问题

发布时间: 2013-08-01 15:23:18 作者: rapoo

关于C语言中size of 的问题。
#include<stdio.h>
void main()
{
printf("%d\n",sizeof(int));
}

4
Press any key to continue

问①,这个4是什么意思?通过它能知道哪些信息?
②,从这个4能得到这个int在使用时候的“有效数”是几个吗?例如float的“有效数”是6~7位。
那这里的int的有效数是几位呢?
③,这里的 int 的取值范围是什么呢? C sizeof
[解决办法]
4表示占有4个字节byte的内存
00000000 00000000 00000000 00000000

只要是他的表示范围内都是有效数

第一位是符号位,-2^31 -- 2^31-1
[解决办法]
1. 4的单位byte
2. int = signed int ;有符号整数那么高位是符号位,后面的都是有效位;4*8-1=31
3. 查看头文件limit.h
其中定义各种数据类型的最值


#define INT_MIN (-2147483647 - 1) /* minimum (signed) int value */
#define INT_MAX 2147483647 /* maximum (signed) int value */

[解决办法]
声明:2. int = signed int ;有符号整数那么高位是符号位,后面的都是有效位;4*8-1=31
其中我这里说是“有效位”和浮点有效位不一样的!这里有效位是除符号位外的数值位

浮点数和整数表达是不一样的
[解决办法]
这里的sizeof(int)就是算出int在内存中占有4个字节;
4个字节就是32位,最高位是符号位,所以它能表示的范围是 -2^31-3^31-1

读书人网 >C语言

热点推荐