matlab矩阵左移补零_matlab 矩阵移位

matlab矩阵左移补零_matlab 矩阵移位MATLAB的两种移位运算MATLAB的两种移位运算: 1)circshift矩阵移位circshift:循环移位数组语法:B = circshift(A,shiftize)说明:B  = circshift(A,shi

MATLAB的两种移位运算   MATLAB的两种移位运算:       1)circshift矩阵移位   circshift:循环移位数组   语法:B = circshift(A,shiftize)   说明:   B  = circshift(A,shiftize)通过shiftize素循环移位数组A中的值。shiftize是整数标量的向量,其中第n个素指定数组A的第n维的移位量。如果移位中的素为正,则A的值向下(或向右)移位。如果是负数,则A的值向上(或向左)移动。如果为0,则不移动该维度中的值。       示例:   将第一维值向下循环移动1.    A = [1 2 3; 4 5 6; 7 8 9]    A =         1      2      3         4      5      6         7      8      9   B =环球(A,1)   B =         7      8      9         1      2      3         4      5      6       将第一维值向下循环1,将第二维值向左   循环1. B = circshift(A,[1 -1]);    B =        8      9      7        2      3      1        5      6      4       2)bitshift位移位   bitshift:   移位位指定的位数       句法 :   C = bitshift(A,k)   C = bitshift(A,k,n)       说明:   C = bitshift(A,k)返回移位了k位的A的值。输入参数A必须是无符号整数或无符号整数数组。通过k移位与乘以2 ^ k相同。允许k的负值,这对应于向右移位,或者除以2 ^ abs(k)并截断为整数。如果移位导致C溢出无符号整数类A中的位数,则丢弃溢出位。   C = bitshift(A,k,n)导致任何溢出n位的位被丢弃。n的值必须小于或等于A的无符号整数类的位长(例如,对于uint32,n <= 32)。   而不是使用bithift(A,k,8)或n的另一个幂2,考虑使用bitshift(uint8(A),k)或适当的无符号整数类。       例子:   例1    将1100(12,十进制)移位到左边的两位产生(48,十进制)。   C = bitshift(12,2)   C =       48       例2   重复地将无符号16位值的位向左移位,直到所有非零位溢出。跟踪二进制的进度:   a = intmax(’uint16’);    disp(sprintf(…      ‘初始uint16值%5d是二进制中的%16s’,…      a,dec2bin(a)))   对于k = 1:16      a = bitshift(a,1);      disp(sprintf(…          ‘Shifted uint16 value%5d is binary 16s in binary’,…          a,dec2bin(a)))     end

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/62561.html

(0)
上一篇 2024年 8月 28日
下一篇 2024年 8月 28日

相关推荐

关注微信