为什么 simulink 数据类型转换块在应该进行类型转换时却改变了数据?

发布于 2024-09-01 23:49:28 字数 415 浏览 4 评论 0原文

我正在尝试将一些数据从 int32 转换为 single。我首先尝试使用具有单一输出数据类型和存储整数选项的“数据类型转换”块。但是,我发现数据类型转换块没有按照我期望的方式对数据进行类型转换。我是否错误地使用了该块,或者它未能正常工作?

temp1(转换前):uint32:1405695244 single: 1728356810752.000000 二进制:01010011110010010011010100001100

temp2(转换后):uint32:1319604842 single: 1405695232.000000 二进制:01001110101001111001001001101010

顺便说一句,我通过使用嵌入式 Matlab 块执行类型转换操作解决了这个问题。

I am attempting to typecast some data from int32 to single. I first tried using the 'Data Type Conversion' block with single output data type and the Stored Integer option. However, I found that the datatype conversion block is not typecasting the data the way I expect it to. Am I using the block incorrectly, or is it failing to work as it should?

temp1 (pre conversion): uint32: 1405695244 single:
1728356810752.000000 binary: 01010011110010010011010100001100

temp2 (post conversion): uint32: 1319604842 single:
1405695232.000000 binary: 01001110101001111001001001101010

By the way, I have gotten around the issue by using an embedded Matlab block to perform the typecasting operation.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

木有鱼丸 2024-09-08 23:49:28

“转换”块作物的数量。
我建议使用带有“typecast”的Matlab嵌入式函数。

函数 out_single = 类型转换(in_uint32)

out_single = typecast(in_uint32, 'single');

"Convert" block crop the number.
I would suggest to use Matlab Embedded function with "typecast".

function out_single = typecasting(in_uint32)

out_single = typecast(in_uint32, 'single');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文