几个比较特殊的运算符(>>,<<,&)

本文详细介绍了Java中位运算符(如右移、左移)及逻辑运算符(如与运算)的工作原理,并通过具体示例展示了它们的操作过程。

因为我是搞Java的所以就讲在Java里的情况:

1.>> :为左位移,在运算的时候是这样进行辩解的:

   举实例吧: 8 >> 2 -------->2

      其实是先将8转化成二进制位1000,在向左移两位,也就是得到10,最后将10转化成十进制那就是2

 

2.<< :为右位移,在运算的时候是这样进行辩解的:

   举实例吧: 8 << 2 -------->32

      其实是先将8转化成二进制位1000,在向右移两位,也就是得到100000,最后将100000转化成十进制那就是32

 

3.& :与的运算

   举实例吧: 1 & 7 -------->1

      先将1用二进制展开为0001,在将7也是为0111,然后进行对位的进行“与”的对位 1对1为1(真&真为真),0对1为0(假&真为假)

0对0为0(假&假为假) 所以得到的二进制为0001,在讲0001转化成十进制也就是1了。

 

这几个字符主要是用在短信7-bit编码的时候进行的使用。

用C++实现实验内容:给定一个上下文无关文法G: &lt;常量说明部分&gt;&rarr;const&lt;常量定义&gt;{,&lt;常量定义&gt;} &lt;常量定义&gt;&rarr;&lt;标识符&gt;=&lt;无符号整数&gt; &lt;无符号整数&gt;&rarr;&lt;数字&gt;{&lt;数字&gt;} &lt;变量说明部分&gt;&rarr;{var}01 &lt;标识符&gt;{,&lt;标识符&gt;}:integer;∣{var}01 &lt;标识符&gt;{,&lt;标识符&gt;}:real;∣{var}01 &lt;标识符&gt;{,&lt;标识符&gt;}:boolean; &lt;标识符&gt;&rarr;&lt;字母&gt;{&lt;字母&gt;∣&lt;数字&gt;} &lt;语句部分&gt;&rarr;&lt;语句&gt;∣&lt;复合语句&gt; &lt;复合语句&gt;&rarr;begin &lt;语句&gt;{;begin&lt;语句&gt;end;} end. &lt;语句&gt;&rarr;&lt;赋值语句&gt;∣&lt;条件语句&gt;∣&lt;循环语句&gt; &lt;赋值语句&gt;&rarr;&lt;标识符&gt;:=&lt;表达式&gt; &lt;表达式&gt;&rarr;[+∣-]&lt;项&gt;∣&lt;表达式&gt;+&lt;项&gt;∣&lt;表达式&gt;-&lt;项&gt; &lt;项&gt;&rarr;&lt;因子&gt;∣&lt;项&gt;*&lt;因子&gt;∣&lt;项&gt;/&lt;因子&gt; &lt;因子&gt;&rarr;&lt;标识符&gt;∣&lt;常量&gt;∣(&lt;表达式&gt;) &lt;常量&gt;&rarr;&lt;无符号整数&gt; &lt;条件语句&gt;&rarr;if &lt;条件&gt; then &lt;语句&gt; else &lt;语句&gt; &lt;条件&gt;&rarr;&lt;表达式&gt;&lt;关系运算符&gt;&lt;表达式&gt;{(and∣or) &lt;表达式&gt;&lt;关系运算符&gt;&lt;表达式&gt;} &lt;循环语句&gt;&rarr;while (&lt;条件&gt;){(and∣or) (&lt;条件&gt;)} do &lt;语句&gt; &lt;关系运算符&gt;&rarr;=∣&lt;∣&gt;∣&le;∣&ge; &lt;字母&gt;&rarr;a∣b∣c∣&hellip;∣z ∣A∣B∣C∣&hellip;∣Z &lt;数字&gt;&rarr;0∣1∣2∣&hellip;∣9 编写程序,构造上述文法G的算符优先分析器,使其能实现如下功能: (1)扫描单词的内部表示形式,按语言的语法规则识别出语法单位(语句等); (2)对各语法单位进行语法检查; (3)若发现单词的组成有错误时,输出有关的出错信息。
最新发布
04-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值