位运算符和位运算

位运算符和位运算

 

本节内容主要包括:

“按位与”运算符(&)

 按位或运算符(|)

“异或”运算符(^)

“取反”运算符(~)

 左移运算符(<<)

 右移运算符(>>)

 位运算赋值运算符

 不同长度的数据进行位运算

一、“按位与”运算符(&)

   1.运算规则

     参加运算的两个数据,按二进位进行“与”运算,如果两个相应的二进位都为1,则该位的结果值为1,否则为0,即:

    0&0=0,0&1=0,1&0=0,1&1=1.

   2.用途

     (1)清零

        运算对象:原来的数中为1的位,新数中相应位为0。

    (2)取一个数中某些指定位。

       如想要取一个整数a(占2个字节)的低(高)字节,只需将a与八进制的377(177400)按位与即可。

    (3)保留某一个数的某一位。

        与一个数进行&运算,此数在该位取1。

二、 按位或运算符(|)

   1.运算规则

     参加运算的两个数据,按二进位进行“或”运算,如果两个相应的二进位都为0,则该位的结果值为0,否则为1,即:

    0|0=0,0|1=1,1|0=1,1|1=1。

   2.用途

     对一个数据的某些位定值为1。

 

三、“异或”运算符(^)

   也称XOR运算符。

   1.运算规则

     若参加运算的两个二进位同号,则结果为0(假);异号则为1(真),即:

    0^0=0,0^1=1,1^0=1,1^1=0.

   2.用途

     (1)使特定位翻转

        假设有01111010,想使其低4位翻转,可以将它与00001111进行^运算。

    (2)与0相^,保留原值

    (3)交换两个值,不用临时变量

        假如a=3,b=4。想将a和b的值互换,可以用以下赋值语句实现:

        a=a^b;  b=b^a;     a=a^b;

 

四、“取反”运算符(~)

   1.运算规则

   ~是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变1,1变0。

   2.用途

    使一个整数a的最低位为0,可以用:a=a&~1;

 

五、 左移运算符(<<)

   1.运算规则

   用来将一个数的各二进位全部左移若干位,右补0,高位左移后溢出,舍弃不起作用。

   2.用途

    左移一位相当于乘以2

  

六、 右移运算符(>>)

   1.运算规则

   用来将一个数的各二进位全部右移若干位,移到右端的低位被舍弃,对无符号数,高位补0;

    对有符号数,左边移入0(“逻辑右移”)或1(“算术右移”)

   2.用途

    右移一位相当于除以2

   

七、 位运算赋值运算符

     位运算符与赋值运算符可以组成复合赋值运算符,如:

     &=,|=,>>=,<<=,^=

 

八、不同长度的数据进行位运算

    如果两个数据长度不同,进行位运算时(如:a&b,而a为long型,b为int型),系统会将二者按右端对齐。如果b为正数,则左侧16位补满0,若b为负数,左端应补满1,如果b为无符号整数型,则左端填满0。
 

通过短时倒谱(Cepstrogram)计算进行时-倒频分析研究(Matlab代码实现)内容概要:本文主要介绍了一项关于短时倒谱(Cepstrogram)计算在时-倒频分析中的研究,并提供了相应的Matlab代码实现。通过短时倒谱分析方法,能够有效提取信号在时间与倒频率域的特征,适用于语音、机械振动、生物医学等领域的信号处理与故障诊断。文中阐述了倒谱分析的基本原理、短时倒谱的计算流程及其在实际工程中的应用价值,展示了如何利用Matlab进行时-倒频图的可视化与分析,帮助研究人员深入理解非平稳信号的周期性成分与谐波结构。; 适合人群:具备一定信号处理基础,熟悉Matlab编程,从事电子信息、机械工程、生物医学或通信等相关领域科研工作的研究生、工程师及科研人员。; 使用场景及目标:①掌握倒谱分析与短时倒谱的基本理论及其与傅里叶变换的关系;②学习如何用Matlab实现Cepstrogram并应用于实际信号的周期性特征提取与故障诊断;③为语音识别、机械设备状态监测、振动信号分析等研究提供技术支持与方法参考; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,先理解倒谱的基本概念再逐步实现短时倒谱分析,注意参数设置如窗长、重叠率等对结果的影响,同时可将该方法与其他时频分析方法(如STFT、小波变换)进行对比,以提升对信号特征的理解能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值