浮点型数据的取值范围如何算的?

比如说float型,字节数4,有效数字6,数值范围1.2*10^(-38)~3.4*10^38。
这个1.2*10^(-38)~3.4*10^38是怎么算出来的?

浮点数分为float和double,分别占4,8个字节,即32,64位。仅以32位的float为例,附带说ble。

IEEE754标准中规定,float的32位这样分:符号位(S)1 阶码(E)8 尾数(M)23。

浮点型变量取值范围 是按 国际标准IEEE 754规定出来的。例如,浮点数总位数,哪个是数值符号位,版哪几权位是指数位,哪几位是基本数值位(尾数位),哪位是 阶码符号位,都有规定。有了规定,就可算出范围。编译器用头文件float.h的宏变量们, 可以知道取值范围。

扩展资料:

十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为a E n (a为十进制数,n为十进制整数)其值为 a*10,n 如: 2.1E5 (等于2.1*10的5次方), 3.7E-2 (等于3.7*10的-2次方) 0.5E7 (等于0.5*10的7次方)

-2.8E-2 (等于-2.8*10的-2次方),以下不是合法的实数 345 (无小数点) E7 (阶码标志E之前无数字)  -5 (无阶码标志) 53.-E3 (负号位置不对) 2.7E (无阶码)。

参考资料来源:百度百科-浮点型数据

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-07
浮点数分为float和double,分别占4,8个字节,即32,64位. 我仅以32位的float为例,并附带说double.
在IEEE754标准中,规定,float的32位这样分:
符号位(S)1 阶码(E)8 尾数(M)23
参考这个网址:http://jimmygod.blog.163.com/blog/static/43511339200792605627411/本回答被提问者采纳
第2个回答  2020-06-29
字节数4对应的是FP32,最大数是二进制表达的111...1111000....000(共24个1,105个0),最小的数在前面加个负号。换算成十进制大概是6.8*10^38
第3个回答  推荐于2017-09-17
  浮点型数据的取值范围由变量的指数确定。
  float型变量长度为4个字节,32位二进制,取值范围为1.18e-38 ~ 3.40e38 ,即(2*2-126) ~ (2*2128)。
  包括符号位(1位)、指数位(8位)、尾数位(23位)。

  符号位的0为正,1为负;指数位共8位,可表示0~255或者-126~128;
  由于其取值范围由指数来定,剩余尾数23位最多可表示223个有效数字,用log计算,log10(2*223)=6.92,因此其有效数字为6~7位。
  浮点数表示法利用科学计数法来表达实数(real),当计算的表达式有精度要求时被使用。例如,计算平方根,或超出人类经验的计算如正弦和余弦,它们的计算结果的精度要求使用浮点型。

浮点型数据的取值范围如何算的?
浮点型变量取值范围 是按 国际标准IEEE 754规定出来的。例如,浮点数总位数,哪个是数值符号位,版哪几权位是指数位,哪几位是基本数值位(尾数位),哪位是 阶码符号位,都有规定。有了规定,就可算出范围。编译器用头文件float.h的宏变量们, 可以知道取值范围。

float的取值范围是多少?
float的取值范围是-3.402823466×10的38次方到3.402823466×10的38次方。float(单精度浮点数)虽然是用4字节32位存储,但它各数间距并不固定,所以叫浮点型。简单讲就是离0越远精度越低。在存储上分为符号位(1),指数位(8),位数位(23)三个部分,尾数有个进位前导所以取值是1.0-2.0,...

float和double的取值范围是怎么计算出来的?
于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。float的范围为-2^128 ~ +2^128,也即-3.40E+38...

浮点型变量取值范围怎么算出来的?
浮点型变量取值范围 是按 国际标准 IEEE 754 规定出来的。例如,浮点数 总位数,哪个是数值符号位,哪几位是指数位,哪几位是 基本数值位(尾数位),哪位是 阶码符号位,都有规定。有了规定,就可算出范围。编译器用 头文件 float.h 的 宏变量们, 可以 知道 取值范围。

浮点型变量取值范围怎么得来的?
float型变量长度为4个字节,32位二进制,取值范围为1.18e-38 ~ 3.40e38 ,即(2*2-126) ~ (2*2128)。包括符号位(1位)、指数位(8位)、尾数位(23位)。符号位的0为正,1为负;指数位共8位,可表示0~255或者-126~128;由于其取值范围由指数来定,剩余尾数23位最多可表示223个...

float的取值范围
float的取值范围约为±3.4e±38(正负3.4乘以10的38次方),但这只是一个大致的估计,实际取值范围可能会因具体的编程语言和环境而有所差异。float是一种单精度浮点数数据类型,用于存储单精度小数。在计算机中,float类型的数值通常使用IEEE 754标准表示,包括符号位、指数位和尾数位三...

双精度,长双精度浮点数的数值范围是如何计算出来的
指数部分的取值范围是从-128到127。当尾数位全部为1时,加上前面的隐含1,得到的数最大为1.111111111111111111111*2127(1后面有23个1,由于尾数的范围是1~2,因此最高位总是1,故只需存储小数部分,其值约为2*2127,即3.4*1038。同理,负数的最大值也为3.4*1038。双精度浮点数(double)的...

解说float取值范围计算过程
在嵌入式开发的世界里,理解实型变量的取值范围是至关重要的。C语言中,float类型(单精度浮点数,4字节)的数据结构复杂而有趣。本文将带你走进浮点数的内部世界,探讨其取值范围的计算方法。1. 实型变量的存储格式与取值范围C语言中的实型变量,无论是float、double还是long double,都采用IEEE 754...

C语言中浮点数变量范围是怎么计算出来的?还是官方定义的?
因此,浮点数的范围和精度是由其存储格式决定的。在C语言中,这通常对应于`float`或`double`类型。`float`类型通常使用上述格式,能够表示大约-3.4e38到3.4e38范围内的数值,精度约为6位小数。尽管官方标准定义了浮点数的存储格式和范围,但实际的表示和范围可能因不同的硬件平台而略有不同。在大...

float的取值范围怎么计算
float的取值范围在-3.4E+38 和 3.4E+38之间。FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。尾数表示一个介于 1.0 和 2.0 之间的...

相似回答