1. c语言中数据的精度是什么意思
c语言中:
float浮点数7位有效数字。
double双精度数16位有效数字。
单精度数的尾数用23位存储,加上默认的小数
点前的1位1,2^(23+1) = 16777216。因为 10^7 < 16777216 <
10^8,所以说单精度浮点数的有效位数是7位。 双精度的尾数用52位存储,2^(52+1) = 9007199254740992,10^16
< 9007199254740992 < 10^17,所以双精度的有效位数是16位
单精度浮点数的实际有效精度为24
位二进制,这相当于 24*log102≈7.2
位10进制的精度,所以平时我们说“单精度浮点数具有7位精度”。(精度的理解:当从1.000...02变化为1.000...12时,变动范围为
2-23,考虑到因为四舍五入而得到的1倍精度提高,所以单精度浮点数可以反映2-24的数值变化,即24位二进制精度)
浮点数7位有效数字。(应该是单精度数)
双精度数16位有效数字。
浮点数取值范围:
负数取值范围为 -3.4028235E+38 到 -1.401298E-45,正数取值范围为 1.401298E-45 到 3.4028235E+38。
双精度数取值范围:
负值取值范围-1.79769313486231570E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.79769313486231570E+308。
所以精度是测量值与真值的接近程度。包含精密度和准确度两个方面精度的等级是以它的允许误差占表盘刻度值的百分数来划分的,其精度等级数越大允许误差占表盘刻度极限值越大。量程越大,同样精度等级的,它测得压力值的绝对值允许误差越大。
精度
经常使用的的精度为 2.5 、1.5 级,如果是1.0和0.5级的属于高精度,现在有的数字已经达到0.25级。
2. c语言数据类型中“双精度”“单精度”是什么意思
双精度,单精度指浮点型数,
双精度 叫 double 型, 单精度 float 型。
double 型 用 64位2进制存放,float 型 用 32位2进制存放。
所以,两种数 的 最大和最小 数值范围 不同,数的有效数字个数不同,也就是精度不同。
double 型 最大数值 1.7976931348623158e+308
最小正数数值 2.2250738585072014e-308
有效数字 十进制 15 位。
float 型
最大数值 3.402823466e+38F
最小正数数值 1.175494351e-38F
有效数字 十进制 6-7 位。
详细定义 见编译器 头文件 float.h
3. c语言编程问题请教,关于数据类型精确度问题;
他本来就是个单精度数 他表示范围大 那是为了和int 区别的 可以在一定的方面更好应用 如果你要好的精度可以用double啊 或者自己定义啊 数据类型的都是个有自己的用处的
4. C语言数据类型小数精度问题!!!急
涉及到双精度浮点数在内存中的实现过程。双精度浮点数有三个部分,符号位、11位阶码、52位尾数。在做乘100之类的操作时,由于阶码增大,尾数要右移,会造成精度丢失。简单来说,此时内存中存储的数字是9.9999999......,但输出到屏幕上时,由于保留6位,显示为10.000000。而浮点数转整数类型时只保留整数部分,因此9.999999......强制类型转换后等于9。
要解决这个问题,可以人工四舍五入,即输出(long)(TEM+0.5)的值
5. c语言所提供的基本数据类型包括:单精度型、双精度型、()、()和()
字符型,整型,长整型
6. c语言数据类型为何是双精度型
为何是双精度? 因为实际需要,一些大型的计算需要很高的精确度!数据类型不全用双精度,就是节省内存空间,别浪费!我自己的理解是这样的.
7. C语言的数据类型
C语言的类型转换和运算都是对一个具体运算符而言的
(float)c=5.0/2 一共有3个运算:
第一步计算5.0/2 ,得到2.5;
第二步计算c=2.5,因为c是整型,得到2
第三步类型转换,得到2.000000
8. C语言中各种数据类型有什么区别
1、数据计算类型不同。
基本数据类型分为三类:整数型(定点型)、实数型(浮点型)和字符型。除了基本数据类型,还有构造类型(数组、结构体、共用体、枚举类型)、指针类型、空类型void。
2、各种数据类型的关键词不同。
short、long、int、float、double、char六个关键词表示C语言里六种基本数据类型。
3、不同数据类型占用内存的大小不同。
short占2byte,int占4byte,long占4byte,float占2byte,double占8byte,char占1byte(不同的平台可能占用内存大小不一样,具体的可以用sizeof 测试下)。
(8)C语言的数据类型和精度扩展阅读
不同类型数据间的类型转换
一、自动类型转换
在C语言中,自动类型转换遵循以下规则:
1、若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
2、转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。若两种类型的字节数不同,转换成字节数高的类型 ,若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型。
3、所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4、char型和short型参与运算时,必须先转换成int型。
5、在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。
二、强制类型转换
强制类型转换一般格式如下:
(类型名)(表达式)
这种强制类型转换操作并不改变操作数本身。
9. 如何编程验证C语言中各类型数据的取值范围和精度
再推荐一个文章给你看,更详细的。认真读完,就知道了。要有耐心啊,比较长。 --- 浮点数分为单精度(float)和双精度(double),根据IEEE754标准,float类型在计算机内部存储占4字节,double类型占8个字节。 无论是单精度还是双精度在存储中
10. C语言的数据类型分为几种
short、int、long、char、float、double
这六个关键字代表C 语言里的六种基本数据类型。
在不同的系统上,这些类型占据的字节长度是不同的:
在32
位的系统上
short
占据的内存大小是2 个byte;
int占据的内存大小是4
个byte;
long占据的内存大小是4
个byte;
float占据的内存大小是4
个byte;
double占据的内存大小是8
个byte;
char占据的内存大小是1
个byte。
具体可以用sizeof测试一下即可。
(10)C语言的数据类型和精度扩展阅读:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。