首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ 和 matlab 运算的精度有关问题

2013-04-20 
C++ 和 matlab 运算的精度问题我用C++和matlab分别写了一段程序,用于从txt文本中读取数据,然后显示dib位图

C++ 和 matlab 运算的精度问题
我用C++和matlab分别写了一段程序,用于从txt文本中读取数据,然后显示dib位图(8位)。
数据格式如下,
.7917,.0167,.0013
三个值*255后代表rgb的三个分量
两种方法,生成的位图的每个像素的rgb分量,大概会偏差1,一般是matlab算出的数据较大。
请问这是为什么?
[解决办法]
Matlab 默认 double 精度, 都是标准的IEEE 754

对于图像, RGB 0-255 ,一般标准化到 0~1之间的double


小数取整, 有 floor, ceil, fix , round 等四种常见的取整算法
[解决办法]

引用:
引用:C++里面隐式float转换成int小数自动截取了,而MATLAB自动四舍五入。
C++你对每个数值用(f+0.5)/1

就会和MATLAB一致了

第一句是看懂了,但(f+0.5)/1 是什么道理啊

C的四舍五入

热点排行