位移运算符 ( ShiftOperator )
位移运算符 ( ShiftOperator )
概述:
只适用于整数的数学运算,根据数制位的移动来进行数字翻倍运算的。
计算机的相邻数制位的关系是2倍关系
为什么使用位移运算?
运算速度比算数运算的翻倍快。
符号:
左位移 ( << ):数字整体向左边移动一个数制位 数字扩大2倍
右位移 ( >> ):数字整体向右边移动一个数制位 数字缩小2倍
无符号右位移 ( >>> ):数字整体向右边移动一个数制位 数字缩小2倍
注意:
无符号右位移只能使用于正整数 负整数不能用
正整数右位移到头值是0 负整数右位移到头值是-1
代码示例:
public class ShiftOperatorDemo {public static void main(String[] args) {int num = 2; // 二进制的数 0000 0010 --> 100 1000// num向左移动了一个数制位System.out.println(num << 1); // 4System.out.println(num << 2); // 8System.out.println(num >> 1); // 1 10 --> 1System.out.println(num >> 2); // 0 10 --> 0int num1 = -2 ; // 1000 0010System.out.println(num1 << 1); // -4System.out.println(num1 << 2); // -8System.out.println(num1 >> 1); // -1 System.out.println(num1 >> 3); // -1 System.out.println(num >>> 2); // 0System.out.println(num1 >>> 2); // 1073741823 只能用于正整数,不然会计算错误}
}
位移运算符 ( ShiftOperator )相关推荐
- c语言实现补码加减,C语言实现用位移运算符进行加减乘…
最近,在百度知道上回答问题,然后看见有的人问如何用位移运算符去进行加减乘除运算,于是巩固今天就在这总结一下. 先讲讲总体思路: 加法运算:将一个整数用二进制表示,其加法运算就是:相异(^)时,本位为1 ...
- Java培训教程:Java中的位移运算符!
学习Java本来就是一件日积月累的事情,或许你通过自学能掌握一些皮毛技术,通过系统学习学到Java的一些基本大面,但想要做到精通,还是需要自己技术的日积月累和工作经验的不断积累. 今天小千给大家分享的 ...
- 位移运算符(7个)之第一个: 左移
// 位移运算符(7个)之第一个: <<左移:移动N位就是乘以2的移动数次幂 附: 二进制转十进制:8421原则(128 64 32 24 16 8 ...
- Java 中的位移运算符
在源码中经常会看到一些位移运算符的使用,比如在看HashMap源码的时候,在计算hashMap容量的阈值的时候,就使用到了位移运算符,代码如下: java中有三种移位运算符 << ...
- 【Java】浅析Java位移运算符<<、>>、>>>
<<.>>.>>>分别是什么 <<.>>.>>>都是Java里的位移运算符. <<表示算术左移,< ...
- Java中的位移运算符
移位运算符就是在二进制的基础上对数字进行平移. 我们知道,Java中byte.short和char类型在进行计算时都是先将其转换为int类型,同样在进行移位运算时也不例外.它们移位后的 ...
- java中的位移运算符_Java 位移运算符
本人只是 Android小菜一个,写技术文档只是为了总结自己在最近学习到的知识,从来不敢为人师,如果里面有些不正确的地方请大家尽情指出,谢谢! 1.概述 Java 位移运算符是Java中基本的位运算操 ...
- java里有位移吗_Java 中位移运算符 ,,
Java 中的三种位移运算符 java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : ...
- 二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符
说明 所有的位运算符操作的都是二进制,而不是我们日常生活中常用的十进制. 在系统中,一个字节占8位. 按位与运算符(&) 参加运算的两个数据,按二进制位进行"与"运算. 运 ...
最新文章
- xp系统粘贴是灰色的_全方位升级 好听更好看!——乂度XP-2 Pro蓝牙独立解码耳放体验...
- ACL 2021 | 基于依存句法驱动注意力图卷积神经网络的关系抽取
- 我设计的简单事务控制
- 深入理解C#:编程技巧总结(二)
- bread是可数还是不可数_雅思官方语法教程之——这个名词到底可不可数?
- java没有更新_java – JProgressBar没有更新,找不到线索
- java 6和_java都到6了 有什么不同 哦????
- js中数组filter过滤奇偶数_JS filter()方法:根据指定条件过滤数组元素
- php pcntl signal,php – 后续的pcntl_signal信号没有启动处理程序
- OJ系统原理与实现:Python自动化测试另一个Python程序功能是否正确
- 快速搭建本地服务器 php,本地PHP服务器环境快速搭建
- 微信小程序同声传译 Face2FaceTranslator 开发
- 智慧交通篇 2 —— 公交刷卡(非接触IC卡)系统全透析
- 通过笔记本wifi共享到以太网接口方法--使用嵌入式设备接入互联网
- 解决office一些文档不能显示在win7任务栏最近列表中的方法
- 实现连续签到案例的可能(使用)
- 修改VirtualBox中mac的分辨率
- 深度学习中AP、mAP、recall、IoU、NMS的评价指标介绍
- 配置完dcom需要重启计算机,DCOM电脑自动重启(win7系统一直反复重启)
- 小区宽带不能上网的解决办法
热门文章
- Wcf for wp8 创建wcf服务 连接wp8模拟器并显示来自wcf服务的接口信息 (一)
- Entity Framework 4中的Code-First, Model-First和Database-First模式(转)
- 软件工程复习提纲——第五章
- C/C++ list链表的理解以及使用
- java jdom进行xml的增删改差_java使用DOM对XML文档进行增删改查操作实例代码
- 2场直播丨MySQL 数据库最常见的 6 类故障的排除方法、2020数据技术嘉年华·金融峰会暨数据库大咖讲坛(第4期)...
- 在线重定义生产环境大表分区的惨烈踩雷记录
- 补偏救弊 | 关于一致性读与语句性能关系的一大误区
- 实践GoF的设计模式:单例模式
- 实践丨SpringBoot整合Mybatis-Plus项目存在Mapper时报错