matlab二进制运算
来源:互联网 发布:网络好坏英文怎么写 编辑:程序博客网 时间:2024/05/21 12:39
&: 逻辑与 A&B
返回值:当A、B中元素均为非零元素是,返回1,否则,为0,还可表示成and(a,b);
| :逻辑或 A|B。还可以表示成or(A,B).
~ : 逻辑非 ~A。还可以表示成not(A).
xor:逻辑异或 xor(A,B).
//////////////////////////////////////////
unit
uint8([])
uint16([])
uint64([])
dec2bin(一个十进制数):将十进制数转化为二进制
dec2hex(一个十进制数):将十进制数转化为十六进制数
hex2dec十六进制转换为十进制
hex2num十六进制转换为浮点数
%%%%%%%%%%%% bin2dec二进制转化为十进制。 注意:输入应该为String类型的数
eg:
bin2dec('01011100')
ans = 92
>> bin2dec('1001')
ans = 9
%%%%%%%%%%%%% bits= randn(1,bitnumbers)<0.5 : 产生bitnumbers位的伪随机二进制序列(PRBS)
bits = randn(1,8)<0.5
bits = 1 0 0 1 1 0 1 0
%%%%%%%%%%%% 用matlab实现小数转二进制
注:5是wordlength字长,3(4)是fractionlength小数长度。
如果不是0.xxxx,必须要给整数位留两个bit,因为含有符号位在里面。
一:
q = quantizer([5 3]);
num2bin(q, -1.78)
ans =10001
二:
q = quantizer([5 3]);
num2bin(q, 1.78)
ans =01110
三:
q = quantizer([5 4]);
num2bin(q, 0.78)
ans =01100
还可以用Matlab自带的定点工具,fixed-point tool。用法如下:fi(v,s,w,fa fixed-point object with value v, signedness s, word length w, and fraction length f. 用的时候可以令:a=fi(v,s,w,f),要调用值的时候用a.data或者a.bin...这些就行了。
eg:
一:
a = fi(-1.78,-1.78,5,3);
>> a.data
ans = -1.7500
>> a.bin
ans = 10010
二:
a = fi(1.78,1.78,5,3);
>> a.data
ans = 1.7500
>> a.bin
ans = 01110
三:
a = fi(0.78,0.78,5,4);
>> a.bin
ans = 01100
>> a.data
ans = 0.7500
附:字符串操作(String operations)
base2dec X-进制串转换为十进制整数
bin2dec 二进制串转换为十进制整数
dec2base 十进制整数转换为X 进制串
dec2bin 十进制整数转换为二进制串
dec2hex 十进制整数转换为16 进制串
findstr 在一个串中寻找一个子串
hex2dec 16-进制串转换为十进制整数
hex2num 16-进制串转换为浮点数
int2str 将整数转换为字符串
lower 把字符串变成小写
mat2str 将数组转换为字符串
num2str 把数值转换为字符串
strcat 把多个串连接成长串
strcmp 比较字符串
strcmpi 比较字符串(忽略大小写)
strings MATLAB 中的字符串
strjust 字符串的对齐方式
strmatch 逐行搜索串
strnomp 比较字符串的前N 个字符
strncmpi 比较字符串的前N 个字符(忽略大小写)
strrep 用另一个串代替一个串中的子串
strtok 删除串中的指定子串
strvcat 创建字符串数组
str2mat 将字符串转换为含有空格的数组
str2num 将字符串转换为数值
upper 把字符串变成大写
二进制数转十进制:bin2dec
>>a = bin2dec('11111111')
a = 255
再转为十六进制数:dec2hex
>> b = dec2hex(a)
b = FF (Char类型)
反过来:hex2dec; dec2bin (得到char类型数据)
%%%%%%%%%%%%%%%%%%%%%%%%
bitand(,)操作输入必须为数字的或者逻辑型的
因此,经过dec2bin得到的数据不能直接作为输入
>>a = dec2bin(54) %将54转换为二进制表示
a =110110
>>c(a == '1') = 1; % 将char型的转换为数字型的
>> c(a == '0') = 0;>>aa = '011011'
aa =011011
>> dd(aa == '0') = 0;
>> dd(aa == '1') = 1;
>> t = bitand(c,dd) %按位与操作
t = 0 1 0 0 1 0>> tt(t==1) = '1' % 再将得到的数字型结果转换为char型的
>> tt(t == 0) = '0'
tt = 010010
%%%%%%%%%%%%%%%%%
字符串连接
一、
>>a = 'matlab';
>> b = 'set';
>>strcat(a,char(127),b)ans =matlab set
>>strcat(a,char(313),b)
ans =matlab set
二、
>>a = 'matlab';
>>strcat(a,'set') %a是字符串ans =matlabset
>> b = 100;
>> strcat(num2str(b),'set') % b是数字ans =100set
三、
>> a= 'matlab';
>> b = 'set';
>> c = [a,b]c =matlabset
%%%%%%%%%%%%%%%%%%
取元素
>>length(c)
ans = 9
>> c(1:5)ans =matla
>> c(5:9)
ans =abset
- matlab二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算
- 二进制运算 移位运算
- Matlab,C++存取二进制
- 二进制,位运算,移位运算
- 二进制,十六进制运算
- 二进制的运算方法
- 二进制补码运算公式
- 二进制补码运算(转)
- 二进制 补码 运算
- 二进制移位运算符
- HDOJ 献给杭电五十周年校庆的礼物 1290
- CString,string,char数组的转换
- 如何远程桌面Linux服务器
- 生产环境ehcache迁移到集中式redis集群
- 二期设计-----html与jsp
- matlab二进制运算
- Zend Framework 跳转方法(render, forward, redirect)区别与总结
- 条款12:复制对象时勿忘其每一个成分
- 细说C++和Java之启动篇
- SIFT和SURF特征提取分析(小结篇)
- 第五章
- 一种基于归并排序及随机数生成器对一个给定数组进行随机排列的算法
- Compressed Sensing(一):RIP、NSP、Coherence、Spark 和 Rank
- web前端学习路线