在matlab工作空间中执行这些命令

a = 10
b = cast(a,'uint8')
c = typecast(a,'uint8')

当我寻找b和c的值时
b=10个
c=0 0 0 0 0 36 64
同时whos('b')whos('c')返回uint8

最佳答案

答案来自documentation of typecast
typecast与MATLAB®cast函数的不同之处在于
不改变输入数据typecast总是返回相同数量的
输出Y中的字节与输入X中的字节相同。例如,强制转换
16位整数1000到带类型转换的uint8返回完整的16位
两个8位段(3和232),因此保持其原始值(3*256
+232=1000)另一方面,cast函数将输入值截断为255。

10-07 18:39