float 为单精度,有效数字为6~7 double 为双精度,有效数字为15~16 但他们在输出时,小数点后都有6位小数。 如: main() { int a=15; float b=123.1234567; double c=12345678.1234567; char d='p'; printf("a=%d,%5d,%o,%x\n",a,a,a,a); printf("b=%f,%lf,%5...
java语言中,float类型数字在计算机中用4个字节(32位)来存储。double类型占用8个字节(64位)。从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double能存储更高的精度。 按照IEEE制定的浮点数表示法来进行float,double运算。这种结构是一种科学计数法:用符号、...
从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double能存储更高的精度以及更大的数值。float表示的正数范围是3.40282346638528859811704183484516925440e+38~1.401298464324817070923729583289916131280e-45,double的正数范围是1.797693134862315708145274237317043567981e+308~4.940656...
从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double能存储更 高的精度。 任何数据在内存中都是以二进制(0或1)顺序存储的,每一个1或0被称为1位,而在x86CPU上一个字节是8位。比如一个16位(2 字节)的short int型变量的值是1000,那么它的二进制表...
double类型的比特位数为64位,也就是8字节,有效数字为15~16位;你这里数字为x=12345678.0九位有效数字而float只能接收7位有效数字,那么8.0就是无意义的,并不准确地表示该数。x=123456789.0时,10位有效数字,同样也只能接收7位有效数字,那么89.0也是无效的,也是不准确地表示该数。如果你想电脑...
按照这个表示方法转化成10进制之后,它能表示的最高精度是7位有效数字。建议楼主先看看这个 http://wenku.baidu.com/view/4fa68320aaea998fcc220e79.html 对于你的补充问题,如果你用float类型来存这个数,那它就占4个字节,如果你用double类型来存这个数,它就占8个字节。
选A,解析:在16位PC机中,5种基本数据类型的存储空间长度的排列为:char型:1个字节 int型:2个字节 long int:4个字节或者4个字节-1位 float型:4个字节 double型:8个字节
float和double型都产生误差,只不过精度不同,float只能精确到8位数字,而double能够精确到18位。在计数范围内,不产生误差的只有int.long和unsigned类型。
单精度数据类型是float,双精度数据类型是double其实最通俗的讲的话,后者所能表示小数的范围比前者大双精度类型的变量能表示15位有效数字,单精度类型变量只能表示7位有效数字双精度类型变量占用8个字宽内存,单精度类型变量占用4个字宽内存。知识延展:单精度数,是指计算机表达实数近似值的一种方式。VB...
Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,