zoukankan      html  css  js  c++  java
  • [原创]Matlab 之按位操作

    在硬件语言 Verilog 中按位操作是相对容易的,在C语言中一样的用好逻辑符号 “|”、“!”、“&”、“>>” 等即可。但是在 Matlab 中一些类似的操作是判断或者逻辑用法,不能用在按位操作上。那么在其中就需要用到函数来进行操作了。

    在此记录两种按位操作的方法:按位左右移 bitshift,按位与 bitand

    按位左右移 bitshift

    C = bitshift(A,K) returns the value of A shifted to the left by K bits, 
        where A is a signed or unsigned integer array. Shifting by K bits
        is the same as multiplication by 2^K. Negative values of K are allowed 
        and this corresponds to shifting to the right, or dividing by 2^ABS(K) 
        and rounding to the nearest integer towards negative infinity. If the 
        shift causes C to overflow the number of bits in the integer class of A, 
        then the overflowing bits are dropped.
     
        If A is a double array, then all elements must be non-negative integers
        less than or equal to intmax('uint64'), and bitshift 
        drops any bits overflowing 64 bits.
    

    其中K为正表示向左移,K 为负值表示向右移;示例如下有:

    >> bitshift(5,1)
    
    ans =
    
        10
    
    >> bitshift(5,-1)
    
    ans =
    
         2
    
    

    按位与 bitand

    C = bitand(A,B) returns the bitwise AND of arguments A and B, 
        where A and B are signed or unsigned integer arrays. If A and B are
        double arrays, then they must contain non-negative integer elements
        less than or equal to intmax('uint64').
    

    两个简单的示例如下:

    >> bitand(5,4)
    
    ans =
    
         4
    
    >> bitand(5,15)
    
    ans =
    
         5
    

    其他还有一些按位操作的函数,可以参考如下。

    See also 
    *bitor*, *bitxor*, *bitcmp*, *bitshift*, *bitset*, *bitget*, *intmax*.
  • 相关阅读:
    SQL Server 2012 自动增长列,值跳跃问题(自增增加1000)
    根据城市表生成json数据
    LeetCode_257. Binary Tree Paths
    LeetCode_242. Valid Anagram
    LeetCode_237. Delete Node in a Linked List
    LeetCode_235. Lowest Common Ancestor of a Binary Search Tree
    LeetCode_234. Palindrome Linked List
    LeetCode_232. Implement Queue using Stacks
    LeetCode_231. Power of Two
    LeetCode_225. Implement Stack using Queues
  • 原文地址:https://www.cnblogs.com/airbird/p/11455187.html
Copyright © 2011-2022 走看看