左移 (<<) / 右移 (>>)注意细节
1.位运算符 << 和 >>
位运算是直接对整型数据的二进制进行运算。
/*结论:1.位运算符操作的都是整型的数据2. << : 在一定范围内,每向左移 1 位,就相当于 * 2;>> : 在一定范围内,每向右移 1 位,就相当于 / 2;面试题:最高效的计算 2 * 8?2 << 3 / 8 << 1
*/
class BitTest{public static void main(String[] args) {int a = 21;// System.out.println("a << 2 = " + a << 2); 编译失败:String类型的数据无法使用 <<// 为什么编译失败呢?// 是因为" a << 2 = " 后面使用 + 号 拼接,所以,系统无法使字符串类型的数据进行 << System.out.println("a << 2 = " + (a << 2)); // 21 * 2^2 --> 21 * 4 = 84System.out.println("a << 3 = " + (a << 3)); // 168}
}
上述结论说特别说明了 << 和 >> 是在一定的范围内进行,如果超出范围,奇迹就发生了!
/*结论:1.位运算符操作的都是整型的数据2. << : 在一定范围内,每向左移 1 位,就相当于 * 2;>> : 在一定范围内,每向右移 1 位,就相当于 / 2;面试题:最高效的计算 2 * 8?2 << 3 / 8 << 1
*/
class BitTest{public static void main(String[] args) {int a = 21;// System.out.println("a << 2 = " + a << 2); 编译失败:String类型的数据无法使用 <<// 为什么编译失败呢?// 是因为" a << 2 = " 后面使用 + 号 拼接,所以,系统无法使字符串类型的数据进行 << System.out.println("a << 2 = " + (a << 2)); // 21 * 2^2 --> 21 * 4 = 84System.out.println("a << 3 = " + (a << 3)); // 168System.out.println("a << 27 = " + (a << 27)); // -1476395008}
}
注意上述代码: 21 << 27 位之后,结果为负数。
用图解释:
左移 (<<) / 右移 (>>)注意细节相关推荐
- c语言左移15位,关于c语言中左移右移运算符的问题
参照<c与指针>,在c语言中左移时,不论算术左移还是逻辑左移效果都是相同的.而且对于有符号和无符号类型执行相同的操作,即按照二进制位向左左移N位.例如: 1 clude 2 intmain ...
- python左移右移位运算_Python这些位运算的妙用,绝对让你大开眼界
位运算的性能大家想必是清楚的,效率绝对高.相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算.但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂.不过,在面试的过程中,在手 ...
- java中的 31 和左移右移的关系简述
java中的 31 和左移右移的关系简述 任何数乘以31 等于 这个数左移 五位 减去这个数 n * 31 == (n << 5) - n " << " ...
- 一维数组反转c语言_C语言实现数组的循环左移,右移,翻转的示例
数组结合指针可以实现很多有趣的功能,比如下面这个程序: 假设数组为 : 12345 如果左移一次即为:23451 ,依次类推 如果右移一次即为:51234 ,依次类推 翻转则为:54321 我们来实现 ...
- 左移右移位运算_计算机硬件技术基础M2——计算机运算基础(二)
在上一篇中,我们学习到了计算机底层的一些机器码,以及一些行业标准,这一章,我们将接着学习机器码的一些比较与相关计算. 一.浮点数表示和定点数的比较 ① 当字长相同时,浮点数表示的范围要大得多. ②浮点 ...
- 位运算之左移右移运算之详解
先看如下一段左移右移的代码及其结果: 代码 #include "stdio.h" char leftshift(char i, int n) { if(n < 0) retu ...
- EASYUI- EASYUI左移右移 GRID中值
EASYUI左移右移 GRID中值 $("#addAll").click(function(){var ids = [];var names = [];var srcrows = ...
- 图片放大缩小旋转左移右移镜像倒影android
图片放大缩小旋转左移右移镜像倒影 demo: TestImage 1. 将 meinv.jpg 图片拷贝到以下目录TestImage\app\src\main\res\mipmap-hdpi 1.An ...
- jQuery实现左移右移
1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title>完成左移右移</tit ...
- java中左移运算符解释_java左移右移运算符
位运算(只对byte.short.char.int.long有效) 左移和右移运算相当于实现整数乘以或除以2的n次方 2.7三元运算符表达式1的结果为true时,就为第二个表达式,如果为...... ...
最新文章
- do一下来了一个redux
- 第十五届全国大学生智能车全国总决赛获奖信息-浙江赛区
- 设置SAP登录后的背景图片(很有意思)
- 《系统集成项目管理工程师》必背100个知识点-48质量控制的老七工具和新七工具...
- Burpsuite在Firefox中无法抓取DVWA本地数据包解决方案+导入证书
- python3.5安装pygame_python怎么安装pygame
- Win32高级语法 条件测试语句与分支语句
- Leetcode算法题(C语言)17--验证回文字符串
- js判断时间是早上还是下午_测血糖别在下午,测空腹血糖早上几点最准确?
- From Apprentice To Artisan 翻译 08
- k8s学习笔记-Docker篇
- 面试过程中,竟然遇到PUA,我不得不服这种“潜规则”~
- Flex Builder 破解和注册方法
- 结构体习题:有5个职工,每个职工的数据包括:职工号、姓名、工资,编写程序要求从键盘上输入职工们的数据,输出高于平均工资的职工信息及高于平均工资的职工人数。——[C语言]入门基础编程 1092
- cv2库中一些函数的使用
- Photoshop技能167个经典的Photoshop技巧大全
- Canonical 在 Linux 上提供 Flutter 桌面应用支持
- 从虎胆龙威4(live free or die hard)说黑客攻击
- 电脑麦克风可以录音但总有沙沙的声音如何解决
- 荣联科技集团获“2022中国数字生态最具号召力奖”
热门文章
- python 2 入门
- iOS Swift RxSwift 的使用(二)
- three、vue中使用three、three怎么加载obj模型和mtl文件、three自定义800*800大小怎么拾取/点击
- python中uuid用法详解
- 微博指定日期舆情数据爬虫获取—基于中文金融词典(python)
- 银联IC卡读卡流程详解--读卡器与卡交互指令
- pdf2htmlEX 安装与保持最新版本
- 架构:安全架构——信息过滤与反垃圾、风险控制。
- 得之坦然,失之淡然顺其自然,争其必然,真是太经典
- (转)程序员成功之路 ——The road ahead for programmer(演讲稿)