https://www.xin3721.com/eschool/pythonxin3721/

本文实例分析了C#中float的取值范围和精度。分享给大家供大家参考。具体分析如下:

float类型的表现形式:

默认情况下,赋值运算符右侧的实数被视为 double。 因此,应使用后缀 f 或 F 初始化浮点型变量,如以下示例中所示:

float x = 3.5F;

如果在以上声明中不使用后缀,则会因为您尝试将一个 double值存储到 float 变量中而发生编译错误。

float的取值范围

float占用4个字节,和int是一样,也就是32bit.

1bit(符号位) 8bits(指数位) 23bits(尾数位)

存储方式如下图:

取值范围基本表达法

(浮点)数值 = 尾数 × 底数 ^ 指数,(附加正负号)----------------

于是,float的指数范围为-127~128,而double的指数范围为-1023~1024,并且指数位是按补码的形式来划分的。其中负指数决定了浮点数所能表达的绝对值最小的数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。

float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。

其他特殊表示

1.当指数部分和小数部分全为0时,表示0值,有+0和-0之分(符号位决定),0x00000000表示正0,0x80000000表示负0. 2.指数部分全1,小数部分全0时,表示无穷大,有正无穷和负无穷,0x7f800000表示正无穷,0xff800000表示负无穷. 3.指数部分全1,小数部分不全0时,表示NaN,分为QNaN和SNaN,Java中都是NaN.

结论: 可以看出浮点数的取值范围是:2^(-149)~~(2-2^(-23))*2^127,也就是Float.MIN_VALUE和Float.MAX_VALUE.

精度

float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。

float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;

希望本文所述对大家的C#程序设计有所帮助。

python浮点数的范围和精度_python基础教程之C#教程之C#中float的取值范围和精度分析...相关推荐

  1. double取值范围 java_Java中float/double取值范围与精度

    Java浮点数 浮点数结构 要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法,浮点数的结构组成,之所以会有这种所谓的结构,是因为机器只认识01,你想表示小数,你要机器认识小数点这个 ...

  2. float 范围 java_Java中float/double取值范围与精度

    Java浮点数 浮点数结构 要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法,浮点数的结构组成,之所以会有这种所谓的结构,是因为机器只认识01,你想表示小数,你要机器认识小数点这个 ...

  3. python在json文件中查找指定数据_Python中json的取值 如何使用python提取json中指定字段的数据...

    python中为什么用json有什么作用 如何用python读取json里面的值啊我爱你,所以我给了你伤害我的权力,只要我能忍受,我会一直陪伴着你,但你不能伤害我太多. 数据如下,我想要读取name. ...

  4. python中int数据范围_Python中int的取值范围是多少

    Python中int的取值范围是多少 发布时间:2020-10-30 09:33:50 来源:亿速云 阅读:66 作者:小新 这篇文章将为大家详细讲解有关Python中int的取值范围是多少,小编觉得 ...

  5. datetime 比较_Python 字典中key命中取值的两种方法性能比较!

    起步 从字典中取值有两个方法,一个是先判断key是否在字典中再取值:另一个是包裹try块中直接去取值: Python资源共享群:484031800 def use_in(d, key):if key ...

  6. python编译器包括的简单过程_python基础第二课

    一  认识模块 1.1  sys #!/usr/bin/env python3 #Author: Sam Gao importsysprint(sys.path) #打印PYTHONPATH环境变量# ...

  7. python集合的基本操作不包括_Python基础知识储备,List集合基本操作大盘点

    List列表是Python中最基本的数据结构,也是Python中使用频率最高的数据类型,List列表中的元素不需要具有相同类型,使用起来非常方便.现在就来体验一下List列表的基本操作. list集合 ...

  8. python处理一亿条数据_Python基础数据处理库

    Numpy 简介 import numpy as np Numpy是应用Python进行科学计算的基础库.它的功能包括多维数组.基本线性代数.基本统计计算.随机模拟等.Numpy的核心功能是ndarr ...

  9. python容量变化类型有哪些_python基础数据类型补充以及编码的进阶

    一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住. #captaliz ...

最新文章

  1. 【opencv】3.在一个opencv窗口中显示多个视频界面、画箭头、画掉头箭头
  2. label自定义的惨痛教训
  3. Java算法-符号~
  4. 校招萌新在阿里妈妈是如何成长的
  5. opengl三维图形图形颜色_【图形学基础】基本概念
  6. 基于阈值的损失函数_推荐 :常见损失函数和评价指标总结(附公式amp;代码)...
  7. SCOM管理包模板的介绍及使用
  8. 深入理解IntentService
  9. VC:CString用法整理
  10. java 风能玫瑰图_使用java awt画风向玫瑰图及风能玫瑰图程序
  11. 动态场景下的语义SLAM的简单实现(基于YOLOv5目标检测)
  12. C语言:判断对错(简化版)
  13. 免费学术资源(转自施一公博客)
  14. Symbian开发——Symbian开发知识(转)
  15. git基于master创建新分支
  16. 15款优秀移动APP产品原型设计工具
  17. xcode 软件˙∆集~
  18. ●「.|貓」erPhotoshop滤镜巧制超级美女插画效果
  19. 如何利用缓存服务器来负载均衡
  20. iis 6.0部署asp网站

热门文章

  1. Idea 设置类、方法注释模板(解决params和return显示问题)---不来虚的 实测有效
  2. Z3Py教程(翻译)
  3. C语言数组初始化及malloc初始化
  4. C语言数组初始化及逆向输出
  5. 任天堂采用Cocos引擎,《火焰纹章》首日吸金两千万
  6. 抖音服务器维护发不了作品,抖音发不了作品是怎么回事
  7. 关于抖音图片转文字的代码工程分享
  8. Uncaught TypeError: Cannot read properties of undefined (reading ‘MethodInfo‘)
  9. Tomcat启动成功却没法部署项目的问题
  10. python 开发微信公众平台 的坑