在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。