C语言运算符和表达式——赋值中的自动类型转换(精度损失问题)

目录

自动类型转换

数值精度损失   


自动类型转换

在不同类型数据间赋值时,会发生自动类型转换

*取值范围的类型 取值范围的类型,通常是不安全

   *数值溢出(Overflow)

*反之,一定都是安全的吗?

   *数值精度损失

问题:从高精度向低精度转换时,会损失什么信息?

*低精度的数据位数比高精度的少,容纳不下高精度的所有信息

——舍入(Round),也称截断(Truncation)

数值精度损失   

      int ← float   丢失小数部分(非四舍五入)

float ← double  数值溢出或损失精度(位数超过7位时)

    float ← long  整数的位数超过7位时,损失精度

精度损失实例分析

为什么long型的123456789不能用float型精确保存呢?

为什么浮点数的输出结果也不准确呢?

C语言中,浮点数在内存中是以阶码和尾数的形式存储的

ANSI  C未规定3中浮点类型的长度、精度和表数范围

二进制小数与十进制小数之间并不是一一对应的关系

定点整数可准确表示123456789,而单精度浮点数则只能近似表示123456789

精度损失实例分析

两个数量级相差很大的浮点数做加减运算时,数值小的数会受浮点数精度限制而被忽略

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/588908.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter应用图标、截图与描述优化:提升上架成功率的关键技巧

引言 Flutter是一款由Google推出的跨平台移动应用开发框架,其强大的性能和流畅的用户体验使其备受开发者青睐。然而,开发一款应用只是第一步,将其成功上架到苹果商店才是实现商业目标的关键一步。本文将详细介绍如何使用Flutter将应用程序上…

k8s的pod访问service的方式

背景 在k8s中容器访问某个service服务时有两种方式,一种是把每个要访问的service的ip注入到客户端pod的环境变量中,另一种是客户端pod先通过DNS服务器查找对应service的ip地址,然后在通过这个service ip地址访问对应的service服务 pod客户端…

每日一题(leetcode2952):添加硬币最小数量 初识贪心算法

这道题如果整体去思考,情况会比较复杂。因此我们考虑使用贪心算法。 1 我们可以假定一个X,认为[1,X-1]区间的金额都可以取到,不断去扩张X直到大于target。(这里为什么要用[1,X-1]而不是[1,X],总的来说是方便,潜在思想…

门户系统—分类信息

分类信息:轻松构建本地生活信息网 分类信息是指按照一定分类标准发布的信息,例如房产、招聘、二手物品等。分类信息网站可以帮助用户发布和查找本地生活信息,满足用户的蓝牙需求。 分类信息网站的功能: 信息发布:用…

【C++面向对象】C++图书管理系统 (源码)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

Spring MVC 的执行流程

Spring MVC 的执行流程 1、用户输入 URL 或 点击链接,浏览器将发送 HTTP 请求到服务器 2、请求首先到达 Spring MVC 的前端控制器 DispatcherServlet 3、前端控制器通过处理器映射器 HandlerMapping 根据请求 URL 找到对应的处理器 handler 4、前端控制器使用处理…

市场逆风下却实现韧性增长,吉利汽车有何逻辑?

在全球汽车市场,传统与新兴势力的激烈对抗正深化市场的分裂状态。一方面,新兴电动汽车制造商虽然在新能源转型的趋势中快速崛起,但大多数公司依然深陷亏损的困境;另一方面,坚持燃油车的传统汽车制造商却继续保持强劲的…

Python实现【贪吃蛇大作战】+源码

文章目录 前言:一、游戏概述1.游戏玩法2.游戏特色 二、游戏规则三、工具选择四、主要技术pygame 库numpy 库cocos2d 五、源码分享六、项目地址 前言: 今天的GitHub小游戏分享,我们将聚焦于一个经典而又极富趣味性的游戏——贪吃蛇大作战。这…

腾讯云(CVM)托管进行权限维持

前言 刚好看到一个师傅分享了一个阿里云ECS实战攻防,然后想到了同样利用腾讯云CVM的托管亦可实现在实战攻防中的权限维持。 简介 腾讯云自动化助手(TencentCloud Automation Tools,TAT)是一个原生运维部署工具,它可…

前端JS商品规格组合

给定一个数组 let data [{name: "颜色",specs: ["白色", "黑色"],},{name: "尺寸",specs: ["14寸","15寸", "16寸"],},{name: "处理器",specs: ["i5", "i7", "i9&…

36---USB HUB电路设计

视频链接 USB HUB电路设计01_哔哩哔哩_bilibili USB HUB 电路设计 1、USB HUB基本介绍 USB Hub,指的是一种可以将一个USB接口扩展为多个,并可以使这些接口同时使用的装置。 Hub也是大家常说的集线器,它使用星型拓扑结构连接多个USB接口设…

idea2023.2.1 java项目-web项目创建-servlet类得创建

如何创建Java项目 1.1 方式1: 1.2 方式: 1.3 方式 如何创建web项目 方式 ----- 推荐 如何创建servlet类 复制6 中得代码 给servlet 配置一个路径 启动tomcat 成功了