社区
C++ 语言
帖子详情
急问:c++ 把 0.05 付给 double时候 不是 0.050000x 最后还有一个非0数字 x,影响最终结果,怎样解决!我不想要最后x
crystalvilly
2008-04-13 05:23:45
c++ 把 0.05 付给 double时候 不是 0.050000x 最后还有一个非0数字 x,
这个使得我的画图结果受到影响,怎样解决!我不想要最后x,也会影响我的循环次数。
谢谢!!
...全文
130
6
打赏
收藏
急问:c++ 把 0.05 付给 double时候 不是 0.050000x 最后还有一个非0数字 x,影响最终结果,怎样解决!我不想要最后x
c++ 把 0.05 付给 double时候 不是 0.050000x 最后还有一个非0数字 x, 这个使得我的画图结果受到影响,怎样解决!我不想要最后x,也会影响我的循环次数。 谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rushman
2008-04-13
打赏
举报
回复
[Quote=引用 5 楼 crystalvilly 的回复:]
我想要计算的。不是单单比较大小阿。。。
就是t 用于别的变量的求值。
谢谢各位!
[/Quote]
根据需要,变换为整数或浮点数。
不清楚算法,没法给出更具体的方案。
crystalvilly
2008-04-13
打赏
举报
回复
谢谢楼上热心的几位!
我想要计算的。不是单单比较大小阿。。。
就是t 用于别的变量的求值。
谢谢各位!
rushman
2008-04-13
打赏
举报
回复
[Quote=引用楼主 crystalvilly 的帖子:]
c++ 把 0.05 付给 double时候 不是 0.050000x 最后还有一个非0数字 x,
这个使得我的画图结果受到影响,怎样解决!我不想要最后x,也会影响我的循环次数。
[/Quote]
这是十进制小数到二进制小数变换不可避免的情况。
对于影响画图结果和循环次数,不知道具体情况如何,不好说。
一个变通的办法是,不用浮点数,把数值全部变为整数处理。比如所有参数都 × 20 变为整数进行计算。
hoya5121
2008-04-13
打赏
举报
回复
double有精度问题
赋值前的0.05其实也是后面有x的,只是你要求精度2位所以没有x
你用一个2位精度的赋值给另一个数字,那么结果也要用2位精度
double的判断一般这样
//浮点数比较,a<b返回-1 ,a>b返回1 ,a=b返回0
int FloatComp(double a,double b, double dEpsilon/* = 1e-6*/)
{
double d = dEpsilon;
if (d < EPSILON)
{
d = EPSILON;
}
double c = a - b;
if(c > d)
return 1;
if(c < -d)
return -1;
return 0;
}
独孤过儿
2008-04-13
打赏
举报
回复
代码贴出来...
还有,double怎么会影响你的循环?难道你的循环变量是用double的???
c_spark
2008-04-13
打赏
举报
回复
只是简单的赋值,怎么能多出一个x,不理解...
相关推荐
【布道者】0基础通关Java最新版
[布道者]系列课程 面向0基础
想要
从事java开发的同学,阿里大佬亲授,从0开始,到进阶,
最后
起飞,层层递进。
解决
对应案例题,并把代码写出来的。拒绝一听就懂,一学就废。课程分为: 基础知识讲解 + 案例 + 举一反三习题+ 阿里P7大佬亲自答疑如何正确食用? 1 重点部分敲敲代码 2 习题去自己写一下,然后整理到
一个
文件下面,
最后
压缩包的形式发给我检阅 3 学完请看
最后
一集去下载笔记, 方便后面及时回忆 4 进群与大佬和群友一起交流和改BUG,找习题答案,找工具下载包
1592 B. Hemose Shopping
题意 给
一个
长度为n的数组,每两个
数字
下标只差大于等于x都能交换,问
最后
能不能变成
非
递减序列? 解析 对于长度大于等于2∗x2*x2∗x的序列,其每个
数字
都能互相交换到达所要到的位置。 对于长度小于2∗x2*x2∗x的序列,对于区间[1,n−x][1,n-x][1,n−x]可以和区间[x+1,n][x+1,n][x+1,n]互相交换,因此如果这种序列
想要
有序,必须保证[n−x,x+1][n-x,x+1][n−x,x+1]这段区间里的
数字
已经是
最终
排完序的
数字
。 代码 #include<bits/st
C++
数据结构与算法分析——lowbit操作
lowbit 介绍 lowbit操作是求出
非
负整数x的
最后
一位1所表示的数值。 原理 假设有
一个
非
负整数x,我们知道x的负数用二进制表示是x取反+1 以121212为例,12=110012 = 110012=1100,−12=0011+1=0100-12 = 0011 + 1 = 0100−12=0011+1=0100 也就是说要求出x的
最后
一位1,只需要求x&−xx\&-xx&−x即可,因为它们除了
最后
一位1相同其他
数字
都相反。 因此可以求出lowbit(12)=1002=410l
自己实现Pow(x,n)
我们每次都让x乘自己 也就是x的平方,然后索引循环次数/2。但是如果碰到i是奇数,那么就还让再让他乘一下自己,在平方,需要把这个值乘到res里面做弥补,同时
最后
一次i/2必然为1即奇数,所以
最终
得到的x和损失量相乘得到
最终
结果。 public
double
myPow(
double
x, int n) {
double
res = 1; for(int i = n;i != 0;i = i/2){ if(i%2!=0){ .
牛客题霸 [回文
数字
(palindrome-number)]
C++
题解/答案
牛客题霸 [回文
数字
]
C++
题解/答案 题解: 首先:负数不可以回文(起码看着就不对称) 然后我们将x翻转,很简单sum=sum*10+x%10; 因为x
最终
会变成0,所以用y先存一下x
最后
比较sum与y是否相等 面试: class Solution { public: /** * * @param x int整型 * @return bool布尔型 */ bool isPalindrome(int x) { // write
C++ 语言
63,594
社区成员
250,391
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下