gpt4 book ai didi

matlab - 为什么 MATLAB uint8 值和 uint16 值不同

转载 作者:行者123 更新时间:2023-12-02 02:22:34 27 4
gpt4 key购买 nike

我已将 uint8 值声明为 A = [4, 8, 16, 32]; 并转换为值 B = typecast(uint8(A), 'uint16' ),但答案是 2052 8208 如果有人能帮助我理解其背后的原因,我将非常感激。

最佳答案

您可能希望 Matlab 将您的 uint8 值放入 uint16 变量中。这不是类型转换函数正在做的事情。它将保留从输入到输出的字节数。因此,在您的示例中,它将 4 和 8 的位表示合并为 uint16 数字,相当于 16 和 32。

因此,4 的二进制表示为 00000100,8 的二进制表示为 00001000,合并在一起(形成 16 位数字),得到 0000100000000100,即 2052。

关于matlab - 为什么 MATLAB uint8 值和 uint16 值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36566618/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com