【问题标题】:Matlab displays binary number in engineering formatMatlab以工程格式显示二进制数
【发布时间】:2015-08-05 08:18:11
【问题描述】:

在 Matlab 中,我需要将十进制数转换为二进制数,并将转换后的二进制数转换为双精度数。

例如:

a= 3151;
b=dec2bin(a);
b=str2double(b);

我需要答案 b=110001001111 但会出现 1.1000e+11 而不是它。

我需要二进制数的 lsb,下面的函数将只接受双精度数而不是二进制数作为字符串。

我该如何解决这个问题?感谢您的支持。

【问题讨论】:

  • 你确定下面的函数double类型作为输入。 double 只保存一个浮点值,它不能代表一系列不同的位。哪个 `lsb',最低有效 bitbyte?之后你用它做什么?将其转换回浮点数?或者你想要它作为一个位数组?

标签: string matlab binary double precision


【解决方案1】:

如果您想更改数字的显示方式,通常需要使用format shortformat long 等更改 matlab 格式。我认为你可以使用format long g,它会按照你想要的方式工作,尽管我以前从未使用过它。

format long g;
b

b =

110001001111

另一种处理方法是告诉 matlab 以某种方式专门打印变量,如下所示:

format short;
sprintf('%i', b)

ans =

110001001111

【讨论】:

    猜你喜欢
    • 2012-02-15
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 2012-09-02
    • 2016-04-06
    • 1970-01-01
    • 2014-11-02
    • 2017-01-26
    相关资源
    最近更新 更多