TI中文支持网
TI专业的中文技术问题搜集分享网站

283335 数据类型的一些问题 unsigned int型与 unsigned long int型 float型与double型

如题,sizeof(unsigned int)为1   sizeof(unsigned long int)为2 ,并且DSP中 unsigned int  的最大值为2^32-1, unsigned long int  的最大值也为2^32-1,但是如果定义一个unsigned int  型的数据,赋值十的8次方,就会出错,而定义 unsigned long int型的值就不会。 这里不知道是为什么?

还有,有关double与float型数据,float型数据提供 7-8位有效数字,double型数据提供15~16有效数字。我的问题是,我将一个有十一位数字长度的值赋值给一个  double 型,会出错,后两位数就回出错。例如:

double tp;

tp=10372665846.0/100000000;

这样计算会出错;

或者

tp=172665846.0/100000000;

按道理算出的值应为:0.172665846,但实际输出后两位小数就是错的。

Seven Han:

您好,

在编译器手册spru514 6.4章节有对c28x数据类型的详细描述,unsigned int 最大值是65535,unsigned long是32位的,

如题,sizeof(unsigned int)为1   sizeof(unsigned long int)为2 ,并且DSP中 unsigned int  的最大值为2^32-1, unsigned long int  的最大值也为2^32-1,但是如果定义一个unsigned int  型的数据,赋值十的8次方,就会出错,而定义 unsigned long int型的值就不会。 这里不知道是为什么?

还有,有关double与float型数据,float型数据提供 7-8位有效数字,double型数据提供15~16有效数字。我的问题是,我将一个有十一位数字长度的值赋值给一个  double 型,会出错,后两位数就回出错。例如:

double tp;

tp=10372665846.0/100000000;

这样计算会出错;

或者

tp=172665846.0/100000000;

按道理算出的值应为:0.172665846,但实际输出后两位小数就是错的。

mangui zhang:

回复 Seven Han:

这个数据类型的表很经典很多人问数据类型的问题

赞(0)
未经允许不得转载:TI中文支持网 » 283335 数据类型的一些问题 unsigned int型与 unsigned long int型 float型与double型
分享到: 更多 (0)