定型
转换数据类型而不改变底层数据
描述
例子
将整数转换为相同存储大小的无符号整数
将一个整数转换为具有相同存储大小的无符号整数。
X = int16(-1)
X =int16-1
Y =类型转换(X,“uint16”)
Y =uint1665535
以十六进制形式显示位模式。使用转换数据类型定型
不更改底层数据。
格式十六进制X
X =int16飞行符
Y =类型转换(X,“uint16”)
Y =uint16飞行符
转换8位整型到单精度
创建一个8位整数的1乘4向量。
X = int8([77 60 43 26])
X =1x4 int8行向量77 60 43 26
将四个使用4字节(32位)存储的8位整数转换为同样使用4字节存储的单精度数字。
Y =类型转换(X,“单一”)
Y =单3.5411 e-23
以十六进制形式显示位模式。在十六进制表示法中,1字节(8位)由两位数字表示。的定型
函数在不修改数据的情况下重新排列位模式。
格式十六进制X
X =1x4 int8行向量2b 2b 1a
Y =类型转换(X,“单一”)
Y =单1 a2b3c4d
将32位整数转换为8位整数
创建一个1乘3的32位无符号整数向量。
X = uint32([1 255 256])
X =1x3 uint32行向量1 255 256
投X
转换成8位无符号整数定型
.每个32位的值被分成4个8位的段。在小端序系统上运行这段代码会产生以下结果。
Y =类型转换(X,“uint8”)
Y =1x12 uint8行向量1 0 0 0 255 0 0 0 0 1 0 0
的第三个要素X
, 256,超过了8位所能容纳的最大值。Y(9)中的转换值因此溢出到Y(10)。
Y (9:12)
ans =1x4 uint8行向量0 1 0 0
你可以转换Y
返回32位无符号整数,而不改变底层数据。
X2 =类型转换(Y,“uint32”)
X2 =1x3 uint32行向量1 255 256
比较输出定型
的输出投
看看这两个函数的区别。
Z = cast(X,“uint8”)
Z =1x3 uint8行向量1 255 255
X2 = cast(Z,“uint32”)
X2 =1x3 uint32行向量1 255 255
转换8位整型到16位整型
从较小的数据类型(uint8
)变成更大的(uint16
).使用十六进制表示来显示位模式的重排。的定型
函数以小端序方式返回输出,将输入数据的四个8位段组合为两个16位段。
格式十六进制X = uint8([44 55 66 77])
X =1x4 uint8行向量2c 37 42 4d
Y =类型转换(X,“uint16”)
Y =1x2 uint16行向量372 c 4 d42
方法可以将小端序输出转换为大端序输出(反之亦然)swapbytes
函数。
Y = swapbytes(类型转换(X,“uint16”))
Y =1x2 uint16行向量424 c37 d
输入参数
X
- - - - - -输入数组
标量|向量
输入数组,指定为标量或向量。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
类型
- - - - - -新的数据类型
“单一”
|“双”
|“int8”
|“int16”
|“int32”
|“int64”
|“uint8”
|“uint16”
|“uint32”
|“uint64”
新的数据类型,指定为“单一”
,“双”
,“int8”
,“int16”
,“int32”
,“int64”
,“uint8”
,“uint16”
,“uint32”
,或“uint64”
.
的位大小类型
是n
的每个元素的比特大小的倍X
,然后X
必须包含倍数n
要转换的元素X
到数据类型类型
.否则,MATLAB®抛出错误。
提示
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
数据类型参数的值必须是小写的。
当你使用
定型
中继承的输入端口数据类型MATLAB函数块,软件可以抛出一个大小错误。要避免此错误,请显式指定块输入端口数据类型。整数输入或结果类必须直接映射到目标硬件上的C类型。
输入必须是可变长度的向量或固定大小的向量。看到工具箱函数代码生成的可变大小限制(MATLAB编码器).
输出向量总是与输入向量有相同的方向。
GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。
使用注意事项和限制:
数据类型参数的值必须是小写的。
当你使用
定型
中继承的输入端口数据类型MATLAB函数块,软件可以抛出一个大小错误。要避免此错误,请显式指定块输入端口数据类型。整数输入或结果类必须直接映射到目标硬件上的C类型。
输入必须是可变长度的向量或固定大小的向量。
输出向量总是与输入向量有相同的方向。
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。有关更多信息,请参见在线程环境中运行MATLAB函数.
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
本功能完全支持GPU阵列。有关更多信息,请参见在图形处理器上运行MATLAB函数(并行计算工具箱).
分布式阵列
使用并行计算工具箱™跨集群的组合内存对大型数组进行分区。
该函数完全支持分布式数组。有关更多信息,请参见运行MATLAB函数与分布式阵列(并行计算工具箱).
版本历史
R2006a之前介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。