社区
VB基础类
帖子详情
很奇怪的一个数字相加问题,和不为1,原因?
Crystal0523
2005-10-07 05:28:28
各位好:
我用vb做了一个哈夫曼编码的程序,输入个数与各个概率,可以算出编码。可是,刚我输入6个概率如下时:0.36,0.28,0.14,0.11,0.08,0.03,总是显示和不为1,逐步调试,才知和为0。999999999……,可是用计算器算出的和是1呀。很奇怪,在C语言里也出现了同样的错误。
...全文
206
5
打赏
收藏
很奇怪的一个数字相加问题,和不为1,原因?
各位好: 我用vb做了一个哈夫曼编码的程序,输入个数与各个概率,可以算出编码。可是,刚我输入6个概率如下时:0.36,0.28,0.14,0.11,0.08,0.03,总是显示和不为1,逐步调试,才知和为0。999999999……,可是用计算器算出的和是1呀。很奇怪,在C语言里也出现了同样的错误。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Crystal0523
2005-10-09
打赏
举报
回复
谢谢各位!我请教了一位老师,她也说是二进制的精度问题。用了两种方法解决:一是像northwolves(狼行天下)所说,用了abs(sum-1)<exp(-15),这个挺精确的了。二是将浮点数扩大化,成为整形数,正如province_(雍昊)所说。只不过不能确定只有两位小数。
threenewbee
2005-10-08
打赏
举报
回复
精度误差。
truewill
2005-10-07
打赏
举报
回复
如果小数位确定是2位,可以用currency
province_
2005-10-07
打赏
举报
回复
HUFFMAN编码树的生成里你可以把概率都乘100后用整型来表示。浮点数有个运算精度的问题。
northwolves
2005-10-07
打赏
举报
回复
二进制的缘故。你可以这样处理:
if abs(1-sum)<0.0001 then
人工智能Python核心知识点_list列表
List列表是 Python 中使用最频繁的数据类型。它是Python内置的一种数据类型,是一种有序的集合。列表可以完成大多数集合类的数据结构实现。本课程主要讲解list列表的特性、定义、以及字典的读取、新增、修改、删除元素、
相加
和数乘等知识点,学习本课程能够轻松掌握list列表相关知识点并灵活的运用到实际的
问题
中来。
【QT常见错误】 ---
数字
与字符
相加
时,
数字
并不会发生隐式转换
在实际工作中,通常需要解析字符串,在
数字
与字符串
相加
时,需要显示指定类型,将int型变量转换为Qstring类型,才能正常输出。 #include <QString> QtWidgetsApplication1::QtWidgetsApplication1(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); QString ret = ""; QString ackSignal = "lines";
jquery解决小数点
相加
精度缺失
问题
int类型
相加
不会出现
问题
,但小数点
相加
就会出现
问题
,我就很
奇怪
,不过最终都解决了 int类型
相加
在jquery需要*1来转换类型 比如:specialSubtotal+=indirectCost * 1 那小数点
相加
呢? var specialSubtotal=numAdd(specialSubtotal,indirectCost) //两小数
相加
解决精度出现的
问题
var
复杂A+B
问题
(两个很大的数
相加
问题
)
复杂A+B
问题
(两个很大的数
相加
问题
) 思路:用字符串实现 *1.先将A和B以字符串的形式输入。 2.调用字符串函数求A和 B的长度 3.找出长的字符串数组作为存放和的数组 4.将A和B逆序——一位一位从后往前加 5.定义变量one——表示是否要进位 6.定义变量sum——存放临时和(比如:5+9=14) 7.求sum = str1[i]-‘0’+str2[i]-‘0’+one; //将字符数...
java两个float
相加
不用强转_怎样将浮点数(float)
相加
? Float 好像没有办法?
俺新手,这个
问题
也比较纠结,于是在网上找了一份资料,看看能不能帮到你解决方案1:因为计算机本身是二进制的,你使用float和double这些节约了内存,对精度就没那么多要求了,要是你对精度有要求,java有java.math.BigDecimal浮点和java.math.BigInteger 整型两个类给你使用解决方案2:这是典型的精度丢失,当低级类型对高级类型运算的时候回产生精度丢失。基本类型加...
VB基础类
7,763
社区成员
197,609
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章