Matlab数据类型 N-DIMENSION ARRAY BOOLEAN NUMERIC TEXT FUNCTION HETEROGENEOUS HANDLE CONTAINER logical char function handle FLOATING-POINT INTEGER NAME-BASED INDEX-BASED struct cell SINGLE DOUBLE SIGNED UNSIGNED PRECISION PRECISION single double int8<=8-bit =>(uint8) int16)<=16-bit =>(uint16 (default) int32)<=32-bit =>(uint32 int64)<=64-bit =>uint64 MatlabR2011b中的数据类型 6
6 Matlab 数据类型 MatlabR2011b 中的数据类型
数值型 带符号 整数 无符号 数值型数据 单精度 浮点数 双精度 ●为了提高数值计算的精度,若没有指定数据类型,则所有的 数都被看作是双精度的浮点数 ●使用整型数据或单精度数据可以节约内存空间 7
7 为了提高数值计算的精度,若没有指定数据类型,则所有的 数都被看作是双精度的浮点数 使用整型数据或单精度数据可以节约内存空间 数值型 数值型数据 整数 浮点数 带符号 无符号 单精度 双精度
整型数据 口Matlab提供四种带符号整型和四种无符号整型 数据类型 取值范围 转换函数 带符号8位整型 [-27,27-1] int8 带符号16位整型 [-215,215-1] int16 带符号32位整型 [-231, 231-1] int32 带符号64位整型 [-263,263 -1] int64 无符号8位整型 [6,28-1] uint8 无符号16位整型 [0,216-1] uint16 无符号32位整型 y232 -1] uint32 无符号64位整型 [6, 264-1] uint64
8 数据类型 取值范围 转换函数 带符号 8 位整型 [-27,27 –1] int8 带符号 16 位整型 [-215 , 215 –1] int16 带符号 32 位整型 [-231 , 231 –1] int32 带符号 64 位整型 [-263 , 263 –1] int64 无符号 8 位整型 [0 , 28 –1] uint8 无符号 16 位整型 [0 , 216 –1] uint16 无符号 32 位整型 [0 , 232 –1] uint32 无符号 64 位整型 [0 , 264 –1] uint64 整型数据 Matlab 提供四种带符号整型和四种无符号整型
举例 x1=int8(11); x1=11 x2=int8(15.49): x2=15 x3=int8(15.5): x3=16 x4=int8(130); x4=127 x5=uint8(255), x5=255 x6=uint8(256);一 x6=255 x7=uint8(-1); x7=0 9
9 x1=11 x2=15 x3=16 x4=127 x5=255 x6=255 x7=0 举例 x1=int8(11); x2=int8(15.49); x3=int8(15.5); x4=int8(130); x5=uint8(255); x6=uint8(256); x7=uint8(-1);
整型数据运算规则 口整型数据运算规则: ●相同整型数据之间的运算,结果为同类型的整数 ·不同整型数据之间不能进行运算! x=int8(11);y=int8(5);z=x*y OK x=int8(11);y=int16(5);z=x*y ERROR! ●整型数据可以和双精度标量进行数值运算,结果为整数。 在运算过程中保持浮点运算精度,最后将结果转换成整型。 整型数据不能与双精度数组进行运算 X=int8(11);y=[1,2];z=x*y%ERR0R! 10
10 相同整型数据之间的运算,结果为同类型的整数 不同整型数据之间不能进行运算! 整型数据可以和双精度标量进行数值运算,结果为整数。 在运算过程中保持浮点运算精度,最后将结果转换成整型。 整型数据不能与双精度数组进行运算 整型数据运算规则 整型数据运算规则: x=int8(11); y=int8(5); z=x*y % OK x=int8(11); y=int16(5); z=x*y % ERROR! x=int8(11); y=[1,2]; z=x*y % ERROR!