c语言中数据类型的范围是根据什么计算的,麻烦详细点.谢谢!

[复制链接]
查看11 | 回复3 | 2012-8-11 00:09:35 | 显示全部楼层 |阅读模式
数据类型的范围都是根据数据占用的内存字节数算的。例如:1如果int在32位操作系统中,那么占用4个字节。24个字节32位。32位什么?当然是bit,bit就是0和13那么int的表示范围就是2的32次方。其他类推,很容易计算。那为什么int是32位?呵呵,这个得由寄存器和硬件地址总线所决定。总结:如果一定要追根到底。可以说根本上是由硬件决定。1 硬件决定操作系统可以运行的位数2 操作系统的位数决定编译器对个类型宽度的定义3 类型的宽度决定类型的标识范围。...
回复

使用道具 举报

千问 | 2012-8-11 00:09:35 | 显示全部楼层
根据这个类型在内存中占的位宽来决定举个例子,计算级用0和1来描述数据,如果用1个位,只能描述2个数字就是0和1,如果2个位呢,能藐视4个数字,就是00,01,10,11依次类推,8位就是2的8次方=256个数1个字节刚好是8位,char和unsigned char都是占1个字节的,所以描述的范围都是256个,不同的是,char有符号,表示-1...
回复

使用道具 举报

千问 | 2012-8-11 00:09:35 | 显示全部楼层
char就是8bit,范围就是2e8short就是16 bit,范围就是2e16int就是32bit,范围就是2e32long也是32位范围是2e32这是32位机器上的哈。浮点数有另外的算法,你可以看看ieee754。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行