num2str num2strexact(完全版)

num2strexact做精确的基于IEEE浮点数转换成字符串模式

3 k下载

更新2020年6月11日

查看许可协议

num2strexact是自身建设C-mex函数,将双或单输入转换为具体的十进制字符串。转换完成了数百位精度的保持准确的转换。转换使用的每一位的十进制值IEEE双精度浮点格式2 ^指数的具体应用。Inf和NaN二进制模式是公认的,规范化的数据处理。

不要混淆和意义的转换!双数字只会重要到15小数位数,和单个数字只会重要到7小数位数。例如,

> >十六进制格式
> > 1.2
ans =
3 ff3333333333333
> > num2strexact (1.2)
ans =
1.1999999999999999555910790149937383830547332763671875

> > 1.2 + eps (1.2)
ans =
3 ff3333333333334 <——一点不同于1.2
num2strexact (1.2 + eps (1.2))
ans =
1.20000000000000017763568394002504646778106689453125

> > num2strexact (eps (1.2))
ans =
2.220446049250313080847263336181640625 e-16

你可以看到1.2不是完全以IEEE双格式表示。的差异显示了这个示例的18位。然后注意第二数量在IEEE双格式模型是关于2 e-16大。准确的转换为每个显示数字,但他们并不显著超出所示的16位。这两个数字之间没有数据可以在IEEE双格式。

语法:

Y = num2strexact (X(,“固定”或“浮动”))
(Y1 Y2) = num2strexact (X1, X2(,“固定”或“浮动”))
(Y1 Y2 Y3) = num2strexact (X1, X2, X3(,“固定”或“浮动”))
::
等等

X =双或单或半

注意:一半类型可以输入两种方式中的一种:
1)uint16类变量包含二进制模式的一半
2)一个类变量的一半。num2strexact必须访问
潜在的模式,如果你输入一个类变量,
那么这将首先被转换成等价的整数位
模式storedInteger函数(临时深拷贝)。

输入的数量必须匹配输出的数量,在除外
特殊情况(1)输入和0输出结果只会是哪里
ans。如果输入是一个标量,输出一个字符的字符串。
如果输入是其他任何大小数组,结果将是一个细胞的数组
相同的维数作为输入,每个单元格包含字符
字符串转换相应的元素。

可选“固定”论点部队定点的结果。

可选的“浮动”论点部队浮点结果。所有
数字将印有指数,即使指数为0。

默认将固定或浮点根据的大小
十进制指数。数字1 < =(十进制指数)< = 2
数量显示为定点,否则将会显示为浮动
点。

所有南二进制模式,无论符号位和有效载荷,
只是作为字符串返回“南”。

∞二进制模式将作为“正”或“负”返回。

num2strexact给以下类似的结果NUM2IEEE由史蒂文主函数:

//www.tatmou.com/matlabcentral/fileexchange/2996

除了num2strexact不需要符号数学工具箱显示潜在的数以百计的确切数字,和num2strexact运行更快。

引用作为

詹姆斯Tursa (2023)。num2str num2strexact(完全版)(//www.tatmou.com/matlabcentral/fileexchange/22239-num2strexact-exact-version-of-num2str), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2007a
兼容任何释放
平台的兼容性
窗户 macOS Linux

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!
版本 发表 发布说明
2.0

半精密支持添加金宝app
强制定点或浮点输出补充道

1.1.0.0

增加了自身建设功能,和BSD许可。

1.0.0.0