在matlab工作区中执行这些命令
a = 10
b = cast(a,'uint8')
c = typecast(a,'uint8')
当我寻找b和c的值时,我得到了
b = 10
c = 0 0 0 0 0 0 36 64
whos('b')
和whos('c')
也会返回uint8
答案 0 :(得分:4)
答案来自documentation of typecast
:
类型转换与MATLAB®强制转换函数的区别在于 不改变输入数据。类型转换总是返回相同的数字 输出Y中的字节与输入X中的字节相同。例如,转换 带有类型转换的16位整数1000到uint8返回完整的16位 两个8位段(3和232)因此保持其原始值(3 * 256 + 232 = 1000)。另一方面,强制转换功能会将输入值截断为255。