主要内容

bitrevorder

将数据按位反转顺序排列

说明

y = bitrevorder(x) 以位反转顺序返回输入数据。

示例

[y,i] = bitrevorder(x) 还返回位反转索引 i,使得 y = x(i)

示例

全部折叠

创建一个列向量并获取其位反转版本。通过显式显示二进制表示进行验证。

x = (0:15)';
v = bitrevorder(x);

x_bin = dec2bin(x);
v_bin = dec2bin(v);

T = table(x,x_bin,v,v_bin)
T=16×4 table
    x     x_bin    v     v_bin
    __    _____    __    _____

     0    0000      0    0000 
     1    0001      8    1000 
     2    0010      4    0100 
     3    0011     12    1100 
     4    0100      2    0010 
     5    0101     10    1010 
     6    0110      6    0110 
     7    0111     14    1110 
     8    1000      1    0001 
     9    1001      9    1001 
    10    1010      5    0101 
    11    1011     13    1101 
    12    1100      3    0011 
    13    1101     11    1011 
    14    1110      7    0111 
    15    1111     15    1111 

输入参数

全部折叠

输入数据,指定为向量或矩阵。x 的长度或行数必须为 2 的整数次幂。如果 x 是矩阵,则位反转发生在 x 的第一个维度(大小大于 1 的维度)上。

数据类型: single | double
复数支持:

输出参量

全部折叠

位反转数据,以向量或矩阵形式返回。y 的大小与 x 相同。

位反转索引,以向量或矩阵形式返回,使得 y = x(i)。MATLAB® 矩阵使用从 1 开始的索引,因此 y 的第一个索引是 1,而不是 0。

详细信息

全部折叠

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出

另请参阅

| |