Matlab位运算笔记

本文为转载其他地方的文章;

MATLAB函数

1、matlab函数bitset

设置数的某一位二进制位为1. 《Simulink与信号处理》

使用方法

C = bitset(A,bit)
将数A的第bit二进制位设为1.
C = bitset(A,bit,V) 《Simulink与信号处理》
将数A的第bit二进制位设为V,V必须为0或1.
 

应用举例

例1: .
C = bitset(uint8(9),5) C = 25 将数字9(01001)的第5位设为1,C的二进制位11001 例2: C = bitset(uint8(9),1,0)
C = 8 将数字9的第1位设为0
2、matlab函数bitget()
3、matlab中的函数getbit()
matlab逻辑符号异或表示:
c=bitxor(a,b);
按位异或,采用bitxor函数。bitxor(1,2)=3。基本思路是首先转换为二进制,接着做按位xor操作,然后转换为十进制。
xor 逻辑异或  只能处理1和0。
4、matlab中的函数round
取整为最近的整数
5、zeros(m,n) 函数建立一个全0矩阵m*n
6、bitget(A,bit) 获得数A的第bit位二进制值
例一:

十进制的5,写成二进制是101。
输入dec2bin(5),
返回结果101。

输入bitget(5,1),获取最低位,
返回结果1。

输入bitget(5,2),获取次低位,
返回结果0。

输入bitget(5,1),获取最高位,
返回结果1。

例二:

把5的二进制储存为矩阵。
xBin=bitget(5,3:-1:1)
返回
[1 0 1]

>> bitget(3,1)
ans =

1

>> bitget(3,2)

ans =

1

>> bitget(3,3)

ans =

0

>> bitget(3,4)

ans =

0

7、 matlab uint8是什么类型的数据
ans =无符号整型应该是uint8,表示变量是无符号整数,范围是0到255.
uint8是指0~2^8-1 = 255数据类型,一般在图像处理中很常见。
8、ans计算结果变量名
9、MATLAB中取整函数(fix,
floor, ceil, round)的使用 

MATLAB取整函数

1)fix(x) : 截尾取整.

>> fix( [3.12 -3.12])

ans =

3    -3
(2)floor(x):不超过x 的最大整数.(高斯取整)

>> floor( [3.12 -3.12])

ans =

3    -4

(3)ceil(x) : 大于x 的最小整数

>> ceil( [3.12 -3.12])

ans =

4    -3

(4)四舍五入取整

>> round(3.12 -3.12)

ans =

0

>> round([3.12 -3.12])

ans =

3    -3

MATLAB中四个取整函数具体使用方法如下:

Matlab取整函数有: fix, floor, ceil, round.
fix
朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
floor
朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;
ceil
朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;
round
四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。

10、MATLAB中 fix(x) 什么意思?

FIX(X) rounds the elements of X to the nearest integers   towards zero.
向0靠拢取整,例:
>> fix(3.2)
ans =
3
>> fix(3.7)
ans =
3
>> fix(-3.7)
ans =
-3
>> fix(-3.2)
ans =
-3

11、matlab 如何实现按位异或

g=01001011 q=10100010;

>> clear
>> g=uint8(bin2dec('01001011'));
>> q=uint8(bin2dec('10100010'));
>> c=dec2bin(bitxor(g,q)) c = 11101001 >>
其中bitxor是按位异或, 位运算函数要求输入必须同为无符号整数、无符号整数数组或者标量浮点数,且输出与输入的类型一致。dec2bin和bin2dec为二进制和十进制互相转换的函数。以上函数详细用法请查看help
 
12、
上一篇:KVM的初始化过程


下一篇:MySql中4种批量更新的方法update table2,table1,批量更新用insert into ...on duplicate key update, 慎用replace into.