C语言提供了两种不同的浮点数据:float 和 double,即单精度和双精度浮点。

当在int(假设int是32位的)、float和double格式之间进行强制类型转换时,原则如下:

从 int 转换成 float,数字不会溢出,但是可能被舍入。

从 int、float 转换成 double,能够保留精确的数值。因为 double 有更大的范围和更高的精度(有效位数)。

从 double 转换成 float,因为 float 范围要小一些,所以值可能溢出成 +∞ 或 -∞。另外由于float精度较小,还可能被舍入。

从 float、double 转换成 int,值将会向零舍入。如1.999会被转成1,-1.999会被转成-1。同时值可能会溢出。

将大的浮点数转换成整数是一种常见的错误。

1996年6月4日,阿丽亚娜5型火箭(Ariane 5)初次航行,一个错误便产生了灾难性的后果。发射后仅仅37秒,火箭偏离了它的飞行路径,随后解体并且爆炸。火箭上载有价值5亿美元的通讯卫星。

后来调查发现,控制惯性导航系统的计算机向控制引擎喷嘴的计算机发送了一个无效数据。它没有发送飞行控制信息,而是送出了一个诊断位模式,表明在将一个64为浮点数转换成16位有符号整数时,产生了溢出。

溢出的值是火箭的水平速率,这比早先的Ariane 4 火箭所能达到的速度高出了5倍。在设计Ariane 4 时,开发人员小心地分析了这些数字值,并且确定水平速率不会超出一个16位数的表示范围。不幸的是,在Ariane 5 火箭的系统中简单重用了这部分代码,而没有检查它所基于的假设。

python double转int_int、float、double数据类型之间转换的原则相关推荐

  1. PyTorch 笔记(03)— Tensor 数据类型分类(默认数据类型、CPU tensor、GPU tensor、CPU 和 GPU 之间的转换、数据类型之间转换)

    1. Tensor 数据类型 Tensor 有不同的数据类型,如下表所示,每种类型都有 CPU 和 GPU 版本(HalfTensor)除外,默认的 tensor 是数据类型是 FloatTensor ...

  2. Python数据类型有哪些,数据转换的形式,以及容器、数据类型之间转换

    Python的数据类型 什么是数据类型? 数据类型是指数据种类.数据表现形式,比如ganyu就是一个字符串,200就是一个数字 目录 常用的数据类型 1.字符串类型(str) 1.1.字符串类型-大字 ...

  3. JAVA中方法的类型转换_Java中几种常用数据类型之间转换的方法

    Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...

  4. python datetime to timestamp_python timestamp和datetime之间转换详解

    做开发中难免时间类型之间的转换, 最近就发现前端js和后端django经常要用到这个转换, 其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确 ...

  5. Python基础语法 - 第1关 数据类型与转换

    Python基础语法 目标一:别叫我萌新 第1关 萌新的进化 [数据类型] 在Python的魔法世界,最常用的数据类型有三种--字符串(str).整数(int)和浮点数(float),他们三者分别具有 ...

  6. string转int/float/double、int/float/double转string、转字符串数组的方法:stoi、stringstream、scanf、to_string、sprintf

    一.string转化为数字 1.使用stoi #include <iostream> #include <string> using namespace std; int ma ...

  7. python str转int_Python入门丨数据类型与转换

    数据类型 Python常见数据类型有三种:字符串(str).整数(int).浮点数(float) 字符串 字符串英文string,简写str 只要被单/双/三引号括起来的内容,无论内容是中文.英文还是 ...

  8. python timestamp转date_python timestamp和datetime之间转换详解

    做开发中难免时间类型之间的转换, 最近就发现前端js和后端django经常要用到这个转换, 其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确 ...

  9. Go 学习笔记(4)— Go 标识符、数据类型之间转换、布尔型、整型、浮点型、interface 类型

    1. 标识符整体分类 Go 标识符整体分类如下图所示: 2. 数据类型分类 Go 语言按类别有以下几种数据类型: 类型 描述 布尔型 布尔型的值只可以是常量 true 或者 false 数字类型 整型 ...

最新文章

  1. java 读utf-8 xml_用Java和UTF-8編碼生成有效的XML。
  2. java 马士兵 io 代码分析_学习笔记-马士兵java- (IO初步)流
  3. jQuery Mobile 基础(第三章)
  4. 天地图之定位信息详解
  5. linux mpeg4ip 编译,CentOS6.2下编译mpeg4ip
  6. Python 学习线路图,码住!
  7. 华为发布首款5G折叠机,价格一万七;ofo被冻结145万;苹果最早明年放弃英特尔 | 极客头条...
  8. 广州技能入户计算机证书,广州技能入户申请的条件和工种有哪些
  9. 亚马逊 站内广告数据分析
  10. Postman连接失败 解决方法
  11. 英语四级词汇量测试软件,大学英语四级词汇量要求及自测卷
  12. MTK修改sysemUI下拉的宽度为全屏
  13. Dynamic Programming 什么意思
  14. python火车票票价_python的requests库爬取火车票信息和所需价钱
  15. 【这很AI】谷歌再推AI应用“名画匹配”:与博物馆7万幅历史名画匹配,结果可能是梵高
  16. Android Studio与Mysql连接的中文乱码问题
  17. 这4个正经的网站,能看片还能涨知识!
  18. 自己动手做sidebar
  19. 网页扫描二维码登录页面的原理(通俗、易懂)
  20. 【计算机组成原理】指令系统(二)—— 扩展操作码

热门文章

  1. MQTT协议超全面总结来啦
  2. 京东分布式存储建设之路(JFS)
  3. 个微号的二次开发,api开发
  4. m3u8链接视频下载
  5. 什么是RIA AIR Flex
  6. 老婆今天生日,祝福老婆!
  7. Go 语言 fmt.Scanln() 与 fmt.Scanf() 包使用
  8. RocketMQ实战分享
  9. 百度作业帮网上收集的面试题
  10. RocksDB 概览