java 除以2_Java最快速的算出乘2 和除2的结果
Java 移位运算符:<< ,>>, >>>
1.<< :左移运算符,num<< 1,不区分正负数,低位补0,相当于num*2
2.>> :右移运算符,num>>1,如果该数为正,则高位补0,若为负数,则高位补1
3.>>> :无符号右移,忽略符号位,空位都以0补齐
import javax.print.attribute.standard.PrinterInfo;
/**
* @author Evan Yang
* @version 1.0
* @create date:2019-5-6
*/
public class DisplacementDemo {
public static void main(String[] args) {
int number=20;
System.out.println("原始number的二进制结果是:"+Integer.toBinaryString(number));
//左移
Integer leftOneNumber=number<<1;
//相当于乘以2
System.out.println("左移一位number的值是:"+leftOneNumber);
System.out.println("左移一位number的二进制结果是:"+Integer.toBinaryString(leftOneNumber));
Integer leftTwoNumber=number<<2;
//相当于乘以4
System.out.println("左移两位number的值是:"+leftTwoNumber);
System.out.println("左移两位number的二进制结果是:"+Integer.toBinaryString(leftTwoNumber));
//右移
Integer rightOneNumber=number>>1;
//相当于除以2
System.out.println("右移一位number的值是:"+rightOneNumber);
System.out.println("右移一位number的二进制结果是:"+Integer.toBinaryString(rightOneNumber));
Integer rightTwoNumber=number>>2;
//相当于除以4
System.out.println("右移两位number的值是:"+rightTwoNumber);
System.out.println("右移两位number的二进制结果是:"+Integer.toBinaryString(rightTwoNumber));
}
}
运行结果为:
原始number的二进制结果是:10100
左移一位number的值是:40
左移一位number的二进制结果是:101000
左移两位number的值是:80
左移两位number的二进制结果是:1010000
右移一位number的值是:10
右移一位number的二进制结果是:1010
右移两位number的值是:5
右移两位number的二进制结果是:101
看了以上demo,现在是不是对java左右移了解了很多了呢?
>>> : 表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0
正数: r = 20 >>> 2
的结果与 r = 20 >> 2 相同;
负数: r = -20 >>> 2
注:以下数据类型默认为int 32位
-20:源码:10000000 00000000 00000000 00010100
反码:11111111 11111111 11111111 11101011
补码:11111111 11111111 11111111 11101100
右移:00111111 11111111 11111111 11111011
结果:r = 1073741819
java 除以2_Java最快速的算出乘2 和除2的结果相关推荐
- JAVA 2乘以8 方法_Java中用最有效率的方法算出2乘以8
Java中用最有效率的方法算出2 乘以8 等於几? 2 << 3, 因为将一个数左移n 位,就相当于乘以了2 的n 次方,那么,一个数乘以8 只要将其左移3 位 (因为将一个数右移n 位, ...
- html输入日期算出星座,java输入日期计算星座
java输入日期计算星座 [2021-01-31 12:59:06] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/( ...
- JAVA班级年龄平均值代码_java用list集合存储学生信息并算出成绩平均值操作
需求 键盘输入五名学生信息并录入list集合; 输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值: 计算并输出他们Java语言成绩的最大值和最小值. 思路 用Scanner 键盘输入 ...
- java 学生信息 list_java用list集合存储学生信息并算出成绩平均值操作
需求 键盘输入五名学生信息并录入list集合; 输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值: 计算并输出他们Java语言成绩的最大值和最小值. 思路 用Scanner 键盘输入 ...
- java指定日期计算一年内第几天和给出一年内第几天算出指定日期
java指定日期计算一年内第几天和给出一年内第几天算出指定日期 1.计算一年内第几天,部分参考的是https://blog.csdn.net/xinpengfei521/article/details ...
- 如何快速算出一个数有多少个因子(c++)
如何快速算出一个数有多少个(多少种)因子(c++) int count(int n) {int sum = 1;for (int i = 2; i * i <= n; i++) {if (n % ...
- 用计算机算出90除以6.28,谁能帮忙出300道二年级下期的数学竖式题
谁能帮忙出300道二年级下期的数学竖式题 谁能帮忙出300道二年级下期的数学竖式题 人气:936 ℃时间:2019-12-08 09:45:28 优质解答 25 -15 -80 = 10 -80 = ...
- java中怎么通过日期算出天数_Java如何通过计算两个日期的时间差来算出天数
Java如何通过计算两个日期的时间差来算出天数,年月日,天数,时间,退房,时分 Java如何通过计算两个日期的时间差来算出天数 易采站长站,站长之家为您整理了Java如何通过计算两个日期的时间差来算出 ...
- 如何用Java算出100的阶乘
今天小编突发奇想,一般的C语言和普通的计算器想要算出100的阶乘根本行不通,那么100的阶乘到底多大呢?想到Java中有个BigInteger类,于是,今天就用代码实现一下100的阶乘: import ...
最新文章
- EffectiveJava(v3) - chapter5: Enums And Annotations
- linux下使用automake、autoconf生成configure文件
- 如何利用CSS给同一个网页中的超链接设置设置不同的样式?
- HttpClient实现CSDN自动登录
- 飞畅科技-工业以太网的应用现状及前景展望
- 时间格式化,常用时间,格式
- Linux系统下搭建BUG管理系统---禅道
- Struts2 action的扩展名两种修改方法
- C++开源代码覆盖率工具OpenCppCoverage介绍(Windows)
- pytorch 入门学习 实现线性回归-5
- 360加速球效果实现
- 国产系统-Ubuntu Kylin优麒麟图文(VIP典藏2022版)
- 医学图像分割——Unet
- vue中的prop验证
- 固态硬盘坏了数据能恢复吗?(已解决)
- 杨明 南京师范大学计算机学院,陈松灿教授、杨明教授、耿新教授应邀来我校做学术报告...
- 低级语言和高级语言的区别
- 基层管理之正负向激励
- 【实验四 循环结构】7-4 sdut-C语言实验-求阶乘(循环结构)
- 微信小程序API——微信支付详解(顺便讲一下我遇见的坑)
热门文章
- 大学计算机基础实训指导第四版,大学计算机基础:学习指导与实训篇(第4版)...
- java服务器发送邮件_服务器通过模板发送邮件java代码
- java五层架构_Web五层架构
- mybatis 大量insert 出现sql io 异常_Java自学之mybatis:使用注解方式实现CURD
- hun 暑期实训之打牌 cin与scanf的输入
- B - Frogger(最短路之多条最短路径中最大权值的最小值)
- TensorFlow——Ubuntu系统上TensorFlow的安装教程
- 使textarea支持tab缩进
- 【lucene】入门级
- linux运维架构师职业规划