c语言浮点数乘法运算,记C语言浮点数运算处理 坑 一则

看一小段C语言程序:

int main()

{

float x = 1.3;

x = x - (int)x;

int i = (int)(x*);

return ;

}

在你心目中, 变量 I 是怎样的结果?

如果你理所当然地认为是3的话, 那么你就错了~~~

实际结果应该是2.   为什么?

简而言之, x在内存的值并不是精确的1.3, 实际上可能是1.29999999......

因为在计算机组成原因中有说过, 浮点数无法被准确地表示出来, 只能是一个非常精确的值..

就算现在你已经知道这个"坑"了, 但还是不小心会犯, 所以务必要牢记~~~

处理办法:

1. 使用精度更高的double.

2. 取整之前四舍五入(加上一个非常小的0.00000.......005, 但要注意浮点数的精度范围), 就像下面这样.

int main()

{

float x = 1.3;

x = x - (int)x;

int i = (int)(x*+0.00005);

return ;

}

同时也要值得注意的是, 这个四舍五入的操作只能用于取整的时候, 你不能加在原浮点值上面改变了原来的浮点数值.

女孩不哭 @ cnblogs.com/memset @ 2014-05-02

js浮点数运算的坑,多少同学有碰到过?

javascript中的数字都是双精度的浮点数. JavaScript中的整数并不是一个独立的数据类型,而是浮点数的一个子集. 浮点数的坑我们看下面的例子 在浏览器的console 控制台上我们分别进 ...

浮点数运算的精度问题:以js语言为例

在 JavaScript 中整数和浮点数都属于 Number 数据类型,所有数字都是以 64 位浮点数形式储存,即便整数也是如此. 所以我们在打印 1.00 这样的浮点数的结果是 1 而非 1.00  ...

深入理解计算机系统(2.8)---浮点数的舍入,Java中的舍入例子以及浮点数运算(重要)

前言 上一章我们简单介绍了IEEE浮点标准,本次我们主要讲解一下浮点运算舍入的问题,以及简单的介绍浮点数的运算. 之前我们已经提到过,有很多小数是二进制浮点数无法准确表示的,因此就难免会遇到舍入的问题 ...

Python:Base1(数据类型,print语句,变量,定义字符串,raw字符串与多行字符串,Unicode字符串,整数和浮点数运算,布尔类型运算)

1.Python中数据类型: 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据 ...

Number浮点数运算详解

文章来自我的 github 博客,包括技术输出和学习笔记,欢迎star. 一道题 0.1 + 0.2 = ? 在浏览器中测试下计算结果,得到的结果是 0.30000000000000004,并不是理想 ...

js,java,浮点数运算错误及应对方法

js,java浮点数运算错误及应对方法 一,浮点数为什么会有运算错误 IEEE 754 标准规定了计算机程序设计环境中的二进制和十进制的浮点数自述的交换.算术格式以及方法. 现有存储介质都是2进制.2 ...

[POJ] #1004# Financial Management : 浮点数运算

一. 题目 Financial Management Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 173910   Acc ...

C语言位运算

C语言位运算详解    位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,shor ...

JS浮点数运算Bug

JS浮点数运算Bug的解决办法(转) 37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) 我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.0849999 ...

随机推荐

C#终于支持可选参数了!

今天偶然看了一下C#4.0的新特性, 第一个新特性就令我兴奋不已, 曾经一度令我使用C#很不习惯的"死参数"问题终于搞定了.实在太爽了! 过去用C++, VB.NET的时候都很爽, ...

Apache 打开网页的时候等待时间过长的解决方案

服务器搭建后经常在打开页面的时候,等待很长时间,有时候,都超过一分钟了,然后才能打开,但是打开后,速度又很快,休息一会再点击,又会很慢了,遇到了这种问题很头疼,由于不是专业做服务器配置的,所以刚开始没 ...

Xamarin.Android提示aapt退出,代码为255

Xamarin.Android提示aapt退出,代码为255 错误信息:”aapt.exe”已退出,代码为255.出现这种问题,通常是由于该项目所使用Android SDK不完整.通过SDK Mana ...

php无缝连接滚动

最近用到了,仿照别人的写了一个 sbdesc.h" //usb标准设备描述符 const U8 USB_DeviceDescriptor[] = { U ...

hibernate 常用主键生成策略与配置

...

英语口语练习系列-C17-Love story

词汇学习 break [breɪk] v. 打破 broke (过去式) The glass broke. 玻璃杯碎了. My watch broke. 我的表坏了. break the law 违法 ...

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

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

相关文章

Cloud一分钟 | 阿里云推杭州城市大脑2.0:实时指挥200名交警;马云即将卸任阿里,蚂蚁云不断加快区块链产业布局...

Hello,everyone:9月19日早,星期三,祝大家工作愉快!一分钟新闻时间:完01微 信 群 添加小编微信:tangguoyemeng,备注“进群公司职位”即可,加入【云计算学习交流群】&…

Python for循环 - Python零基础入门教程

目录 一.for 循环语法二.for 循环实战三.重点总结四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python 开发中,除了前篇文章介绍的 while 循环 还有一个 for 循环也经常使用,两者使用都是大同小异&#xff0…

Cloud一分钟 | 误删生产数据库血案,顺丰高级工程师被开除;阿里巴巴暂停美国云计算扩张?阿里云总裁正式回应:“不会减少投入”...

Hello,everyone:9月25日早,星期二,祝大家工作愉快!一分钟新闻时间:完01微 信 群 添加小编微信:tangguoyemeng,备注“进群公司职位”即可,加入【云计算学习交流群】&…

c语言函数大全doc,c语言函数大全.doc

c语言函数大全c语言函数大全getchar,getch原型:extern int getchar(void);用法:#include 功能:读键说明:从键盘上读取一个键,并返回该键的键值getch是到getchar的宏定义举例:// getchar.c#include main(){i…

Python 字符串 - Python零基础入门教程

目录 一.前言二.Python 字符串运算符三.Python 字符串构造四.Python 字符串截取五.Python 字符串替换 – replace()方法六.Python 字符串大小写七.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.前言 在 Python 变量 文章中我们对 整数…

用c语言编译二叉树,C语言 数据结构平衡二叉树实例详解

数据结构平衡二叉树参考代码如下:/*名称:平衡二叉树语言:数据结构C语言版编译环境:VC 6.0日期: 2014-3-26*/#include #include #include #define LH 1 // 左高#define EH 0 // 等高#define RH -1 // 右高#define N 5 /…

运营商的互联网蜕变,从沃云平台开始

提起中国联通,许多人都在用它的网络。不可否认,从3G时代开始,中国联通就迎来了新一轮的增长,特别是在与网通合并之后,中国联通在北方区的移动和固网优势相比之前也更加明显。当然,除了运营商的属性之外&…

Python 列表List - Python零基础入门教程

目录 一.Python 列表 List 简介二.Python 列表 List 增加数据三.Python 列表 List 删除数据四.Python 列表 List 修改数据五.Python 列表 List 查找数据六.Python 列表 List 截取七.Python 列表 List 排序八.Python 列表 List 与字符串 str 的相互转换 1.str 字符串转列表 lis…

c语言偶数分解成两个素数,如何用C语言验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和....

题目:如何用C语言验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和.我是大一新生,代码不能太复杂解答://首先生成质数表,然后双重循环输出2000以内所有偶数的两个质数和的形式#include#includebool isPrime(int n){\x09int i;\x…

Cloud一分钟 | 云厂商Zoho域名被禁两小时;京东云公布医疗健康战略

Hello,everyone:9月26日早,星期三,祝大家工作愉快!一分钟新闻时间:完01微 信 群 添加小编微信:tangguoyemeng,备注“进群公司职位”即可,加入【云计算学习交流群】&…

Python 元组tuple - Python零基础入门教程

目录 一.Python 元组 tuple 简介二.Python 元组 tuple 定义三.Python 元组 tuple 数据查询四.Python 元组 tuple 不支持删除/修改数据五.Python 元组 tuple 与 列表 list 相互转换六.重点总结七.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入…

四则运算计算器c语言switch,设计一个五个数进行四则运算的计算器 c语言

2016-02-24 回答dlib.hint fun1(int *i,int *j){int a,b,c,d,e0;arandom(100);brandom(100);dab;(*j);while (e3){printf(%d%d,a,b);e;scanf(%d,c);if(cd) {printf(回答正确\n);(*i);break;}else{printf(对不起,你的答案错误\n);};}}int fun2(int *i,int *j){int a,…

如果有这样一台服务器……

作者孙浩峰原创作品,如有转载,请联系公众号授权。①2015年1月计算机科学家SebastianThrun博士对使用机器学习帮助医学诊断产生兴趣2015年6月Thrun博士的团队测试机器从教材图像的学习成果在大约14,000张图像中,系统得到了72%的正确率Thrun博士…

Python 条件推导式 - Python零基础入门教程

目录 一.Python 条件推导式简介二.Python 条件推导式使用 1.Python 条件推导式语法2.Python 条件推导式练习 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 截止到目前为止,Python 基础内容已经学习了 50% 左右,…

pt100温度传感器c语言,pt100测温程序-LCD1602

原标题:pt100测温程序-LCD1602#include"at89X52.h"sbit LCD_RS P2^0;sbit LCD_RW P2^1;sbit LCD_E P2^2;sbit ADC_CS P2^3;sbit ADC_WR P3^6;sbit ADC_RD P3^7;#define LCD_DATA P0unsigned char LcdBuf1[10]"";unsigned char code Bmp001[][8]…

Cloud一分钟 | CDN技术服务能力跻身一流,京东云与奇虎360联袂上演云上“京奇”...

Hello,everyone:9月27日早,星期四,祝大家工作愉快!一分钟新闻时间:完01微 信 群 添加小编微信:tangguoyemeng,备注“进群公司职位”即可,加入【云计算学习交流群】&…

Python 列表推导式 - Python零基础入门教程

目录 一.Python 列表推导式简介二.Python 列表推导式语法三.Python 列表推导式练习 1.Python 列表推导式案例一2.Python 列表推导式案例二3.Python 列表推导式和循环效率对比 四.重点总结五.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 …

android 主流分辨率是多少,android 屏幕分辨率问题

iPhone的icon设计就这么简单,iPhone的屏幕只有320480像素,所以程序没有适配性问题。Android在研究Android的icon设计之前,有必要先了解Android的界面是如何适配多样化屏幕的。适配性由于同一个UI元素(如100100像素的图片)在高精度的屏幕上要比…

肥宅有理?大数据帮你找到不去健身房的原(jie)因(kou)

作者宋宇 赵玮雯来源DT财经原创作品,如有转载,请联系公众号授权。扪心自问,是什么拖住了你奔往健身房的腿?数据给出的理由能让你心服口吗?A4腰、马甲线,让你成功反手摸肚脐……这些词已经不火了&#xff0c…

android unix时间,android: 日期转Unix时间戳,Unix时间戳转日期,带时区

1、UTC时间&GMT时间UTC时间是时间标准时间(Universal Time Coordinated),UTC是根据原子钟来计算时间,误差非常小。UTC也是指零时区的时间,如果要表示其他时区的时间,这里要注意没有UTC0800或者UTC8这样的表示方式(至少Java里面…