C的数据类型问题

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
在C语言中 有浮点型和字符型数据类型 但是 我弄不懂它们所说的表示范围和有效数字有什么区别?表示范围代表的是什么?例如 float的表示范围是3.4e-38到3.4e38 它的有效数字是6到7位又如 char的表示范围是-128到127请问这究竟是什么东西呢

                                                                                                表示范围是指一个变量的最大值和最小值,不能超过这个范围,否则就会溢出。它的大小是和系统分配给这个变量的内存单元大小有关,而这个大小也因不同的计算机系统而异。假如在你的计算机上,系统规定,分配给char类型的变量1个字节的内存单元,那么,这就意味着用8位二进制数表示一个char类型变量,它的表示范围就是2^8=256。(我怎么印象中,char类型的表示范围是0~256呢?)同理,如果计算机分配给float类型变量16个字节,即128位内存单元,那么,它的表示范围就是2^-128~2^128。有效数字是指在输出时,能显示的有效数字是多少,和数学上讲得有效数字的概念相同。                                       
提问者对答案的评价:

                                                                                                指该中数据类型能表达的最大数值范围跟数据类型占用的字节数相关,如char类型在32位的系统中占用1个字节8位,因此只能表示2的8次方(故为-128~127).如是而已                                       

                                                                                                OK,我接着上楼的说例如 float的表示范围是3.4e-38到3.4e38 它的有效数字是6到7位如果超过他的最大值或最小值就不行,会溢出 你写几个式子运行一下试试效果就可以了有效数位,就是有效的数位#include<iostream>void main(void){        using namespace std;
float i=3.4e38+1;        cout<<fixed;         cout<<i;}
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行