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、

时间: 2024-10-10 02:28:43

Matlab位运算笔记的相关文章

C位运算笔记(根据网上内容整理)1

什么是位运算?    程序中的所有数在计算机内存中都是以二进制的形式储存的.位运算说穿了,就是直接对整数在内存中的二进制位进行操作.由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快. 各种位运算的使用 === 1. and运算 ===(同真为真) and运算通常用于二进制取位操作,例如一个数 and 1的结果就是取二进制的最末位.这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数. === 2. or运算 ===(一真为真) or运算通

进制、位运算笔记

进制 位运算 进制介绍 一种计数的方式,数值的表示形式. 常见的进制有:二进制.十进制.八进制和十六进制. 二进制: 0和1,C语言中表示0b开头或者0B开头. 八进制: 0,1,2,3,4,5,6,7 C语言中以0开头的数字,例如045 十进制: 自然数 十六进制: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F C语言中以0x或者0X开头的数字 进制之间的转换: 其他进制转换成十进制的三要素: 1. 数位:数码在一个数中所处的位置. 一个序列,从右往左数位依次是0,1,2,3

JavaScript 位运算笔记

之前一直以为,在js的位运算中,双精度浮点数在内部会先被转成32位整数,再执行位运算,然后再转为64位数值,因此效率极低.今天实验发现,对浮点执行位运算只会导致数值不准确,而不会导致效率低下,相比乘法,左移位要快66%(其实就是浮点运算与整数运算的差距). 以下结果在 IE 7 ~ IE 10 上测试得出 技巧1:移位运算比乘除法快(当因数是2的幂数) b = a << 1; //大概快 6.8% 技巧2:奇偶判断 b = a & 1; //0位与1相与,相比于 x % 2,大概快 3

java位运算笔记

位运算: ~(非)-->二进制数进行0和1的互换 例子: public class Test { public static void main(String[] args) { System.out.println(~-2);//输出1 System.out.println(~-1);//输出0 System.out.println(~0);//输出-1 System.out.println(~1);//输出-2 System.out.println(~2);//输出-3 System.out

位运算学习笔记

一.二进制 二进制的最高位是符号位:0表示正数,1表示负数 正数 的源码反码,补码,都一样 负数的反码=它的源码 符号 位不变,其它位取反(0->1,1->0) 负数的补码=它的反码+1 0的反码补码都是0 php没有无符号数 在计算机 运算 的时候,都是以补码的方式来运算的 例:-1 的源码 10000000 00000000 00000000 00000001-1 的反码 11111111 11111111 11111111 11111110-1 的补码 11111111 11111111

C#学习笔记-----C#枚举中的位运算权限分配

什么是位运算 常用的位运算主要有与(&), 或(|)和非(~), 比如: 1 01 & 00 = 00; 2 01 | 00 = 01; 3 ~01 =0 0; 运用在权限设计中 先建立一个枚举表示所有的权限管理操作: 1 [Flags] 2 public enum Permissions 3 { 4 Insert = 1, 5 Delete = 2, 6 Update = 4, 7 Query = 8 8 } [Flags]表示该枚举可以支持C#位运算. 枚举的每一项值, 我们用2的n次

Java笔记1(位运算)

1.位运算:| 操作符使用public class WeiHuoTest{       public static void main(String[] args){               int number1 = 10;              int number2 = 8;  /*    number1: 10    0000 0000 0000 0000 0000 0000 0000 1010    number2: 8    0000 0000 0000 0000 0000

C语言学习笔记:16_位运算

/* * 16_位运算.c * * Created on: 2015年7月6日 * Author: zhong */ #include <stdio.h> #include <stdlib.h> /* 位运算: * 所谓的位运算是指以二进制位为对象的运算. * c语言中位运算符有: * & 按位与 * | 按位或 * ^ 按位异或 * ~ 按位取反 * << 左移 * >> 右移 * * 除了 ~ 按位取反运算符以外,均为二目运算符. 两边的运算对象

Java笔记:位运算

一.数据存储 二进制数在内存中以补码的形式存放.正数的反码.补码均为本身.负数的反码为符号位不变且其余位取反,补码为反码+1. 二.位运算 ①按位取反:反转操作数中的所有位. ②按位与:仅当两个操作数都是1,结果为1.否则为0. ③按位或:只要有一个操作数是1,结果为1.否则为0. ④按位异或:只有一个操作数是1,结果为1.否则为0. ⑤左移:将不包括符号位的所有数值向左移动指定次数,右边补充0.每左移一位相当于*2. ⑥右移:将不包括符号位的所有数值向右移动指定次数,左边补充0.每右移一位相当