matlab

时间:2016-10-12 05:10:12

标签: matlab casting

在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

1 个答案:

答案 0 :(得分:4)

答案来自documentation of typecast

  

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