c语言pow函数精度差,pow()函数结果强制转化为int造成误差的分析
开发环境:codeblocks,编译器gcc
在计算102时调用pow(10, 2),再强制类型转换为int类型后输出:
printf("%d",(int)pow(,));
得到的结果却是:99
这是因为 double pow(double x, double y) ,返回值是采用数值逼近的方法得到的double类型值。例如返回值为99.9999999时,强制类型转换发生截断,得到99。
仔细分析后发现:
因为pow函数导致从double返回值类型向int型转化的时候是直接把小数部分切掉,
导致原先double型的小数部分不再四舍五入,从而失去了整数部分的精度,最终结果差1
最简单的解决方案:+ 0.5
(int)(pow(, ) + 0.5) // 返回值为100
解决方案2:
自行编写 pow() 函数,以整型作为形参与返回值。
解决方案3:
运用四舍五入函数:
printf("%d",(int)round(pow(,)));
ps: 在vc6.0运行是正确的,在codeblock上就是错误的。应该是编译器的问题了。
参考:
pow函数
pow函数如果直接强制类型转换成int,会导致精度的损失.如果是int的幂计算,建议重写函数.或者用double型进行计算.
C++中将string类型转化为int类型
写程序需要将string转化为int,所以就探索了一下. 方法一:atoi函数 atoi函数将字符串转化为整数,注意需要stdlib库.所以就尝试了一下: #include
C语言pow()函数的计算精度问题
编程计算 a+aa+aaa+-+aa-a(n个a)的值,n和a的值由键盘输入.例如,当n=4,a=2,表示计算2+22+222+2222的值. 程序运行结果示例: Input a,n: 2,4↙ su ...
C语言--pow()函数实现
为什么自己实现一个pow()函数呢?昨天在Linux操作系统中调用这一个函数时,一直报错,也没有查找到具体的原因.故心血来潮实现这一函数功能. 函数所在头文件: 在"math.h&q ...
日常踩坑——Dev C++ pow()函数的坑
坑 Dev C++ pow()函数 那年冬天,显示屏前坐着如喽啰,那时候我含泪发誓,再也不用Dev. 蓝桥杯官网给提供的版本,没办法bug也得硬着头皮用. 16年蓝桥杯的第八题 四平方和定理: 在De ...
pow() 函数
pow() 函数用来求 x 的 y 次幂(次方),其原型为: double pow(double x, double y); #include #include< ...
(函数分治法)实现pow函数(x的y次方幂)
题目:实现pow函数. 题目分析:因为一个一个乘,循环太大,参考矩阵连乘问题:对于n=4的话,可以得出x的平方,然后平方与平方相乘.节省计算次数.对于偶数的幂,只要x的平方多次递归调用即可:对于奇数的 ...
Arduino 将 String 转化为 int
Arduino 将 String 转化为 int 函数:toInt() 实例: String my_str = "; int my_int = my_str.toInt();
随机推荐
使用Java修改Windows注册表
使用Java修改Windows注册表,使用最基本的就是cmd命令. 事例和运行结果如下所示: package day01; import java.io.IOException; /* 1,reg a ...
mvc 简单笔记
---恢复内容开始--- 入口文件 index.php 唯一的一个让浏览器直接请求的脚本文件 控制器 协调模型和试图 模型 提供数据 保存数据 数据的验证 试图 只负责显示 <?php $c = ...
sql之独立子查询和相关子查询总结
1.独立子查询:顾名思义:就是子查询和外层查询不存在任何联系,是独立于外层查询的: 下面就看一个例子: 有一张订单表 Sales.Order 和一张 客户表 Sales.Customer 下面的sql ...
视频播放(iOS开发)
视频播放 一.视频播放介绍(5种实现方案) AVPlayer 优点 可以自定义UI,进行控制 缺点 单纯的播放,没有控制UI,而且如果要显示播放界面,需要借助AVPlayerLayer,添加图层到需要 ...
CSS中的高度
https://developer.mozilla.org/en-US/docs/Web/API/element.clientHeight Element.clientHeight是只读属性,以像素为 ...
Razor强类型视图下的文件上传
域模型Users.cs using System;using System.Collections.Generic;using System.Linq;using System.Web; namesp ...
linux: /usr/bin/ld: cannot find -lloc
/usr/bin/ld: cannot find -lloc ld链接库的时候没发现loc这个库-lloc本事不是文件名字,要去找这个库就搜索libloc, loc, 不能搜索lloc. /usr1/ ...
MongoDB索引限制
1. 额外开销: 每个索引占据一定的存储空间,在进行插入,更新和删除操作时也需要对索引进行操作.所以,如果你很少对集合进行读取操作,建议不使用索引. 2. 内存使用: 由于索引是存储在内存(RAM)中 ...
rails 杂记 - erb 中的 link_to 的 ActiveRecord 与 render 中的 partial
路由及路由参数
c语言pow函数精度差,pow()函数结果强制转化为int造成误差的分析相关推荐
- python函数参数列表_python函数列表
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python函数函数是python里组织代码的最小单元,python函数包含以下 ...
- python中pow是什么函数_python中pow什么意思
python中pow什么意思? python中pow() 方法返回 xy(x的y次方) 的值. 语法 以下是 math 模块 pow() 方法的语法:import math math.pow( x, ...
- python中pow函数_pow()函数以及Python中的示例
python中pow函数 Python pow()函数 (Python pow() function) pow() function is a library function in Python, ...
- python求n次方的函数_python实现pow函数(求n次幂,求n次方)
类型一:求n次幂 实现 pow(x, n),即计算 x 的 n 次幂函数.其中n为整数.pow函数的实现--leetcode 解法1:暴力法 不是常规意义上的暴力,过程中通过动态调整底数的大小来加快求 ...
- python中pow函数用法_python pow函数怎么用
python中的pow函数的功能是计算x的y次幂.本篇文章将带大家一起了解一下,pow()函数在Python中的用法.感兴趣的朋友了解一下. 以下是 math 模块 pow() 方法的语法:impor ...
- R语言使用dplyr包的summarise函数计算dataframe数据中的指定数据列的最大值和最小值的差、计算指定数据列的极差
R语言使用dplyr包的summarise函数计算dataframe数据中的指定数据列的最大值和最小值的差.计算指定数据列的极差 目录
- power函数python_python中pow函数用法及功能说明
这篇文章我们来讲一下在网站建设中,python中pow函数用法及功能说明.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 幂运算是高更数学的应用学科,是一种关于幂的数学运算. ...
- python power函数_python中pow函数的用法_python中pow函数用法及功能说明
幂运算是高更数学的应用学科,是一种关于幂的数学运算.同底数幂相乘,底数不变,指数相加.同底数幂相除,底数不变,指数相减.幂的乘方,底数不变,指数相乘.适用于精确计算领域. 计算机作为精确计算的一种方式 ...
- c语言定义小数无穷小,OC中常用的数学函数以及浮点处理函数
在编程中我们总要进行一些数学运算以及数字处理,尤其是浮点数的运算和处理,这篇文章主要介绍C语言下的数学库.而其他语言中的数学库函数的定义以及最终实现也是通过对C数学库的调用来完成的,其内容大同小异,因 ...
最新文章
- 给你一些点与线,只用动画就能看懂张量乘法,还能证明迹循环定理
- hibernate连接池配置
- Iframe高度自适应(兼容IE/Firefox、同域/跨域)
- 个人随笔之《我有一个需要妈妈帮我实现的愿望》
- 关于MySQL字符集和校对集问题
- SQL Server 2008 : 基于策略的管理(Policy-Based Management)
- ​使用高斯过程回归指导网络轻量化
- Facebook授权登录
- 机器学习实战pdf原文内容分享
- TD-SCDMA信道模式
- ios端 QQ 内语音通话录制-5823错误原因细究
- 使用canvas编写飞机大战游戏
- 年近30,半失业状态:定制化,正在拖垮年轻人
- OpenSearch图搜图、文搜图向量检索最佳实践
- 解决电脑连接蓝牙耳机默认音量过大的问题
- 软件测试标准流程(思维导图版)
- ubuntu18.04手动调节风扇转速
- 双光耦开关电源电路图_剖析 “双断法”检修分立元件开关电源实例
- Data Vault2.0方法论之审查和改进-全面质量管理
- 【PMSM矢量控制系列】空间矢量调制技术