以下文章仅用于记录工作学习过程中的学习心得。

在Java的运算中,移位实现的乘除法运算比直接乘除法的效率高得多

符号:

<

>>   :  除

举例子:

a= a * 8 = a * 2^3   <==>   a = a << 3

b= b / 8 = a / 2^3    <==>   b = b >> 3

说明:

除2 = 右移1位  乘2 = 左移1位

除4 = 右移2位  乘4 = 左移2位

除8 = 右移3位  乘8= 左移3位

......结论:通常如果需要乘以或者除以2的n次方,都可以用移位的放代替

大部分的C编译器,用移位的方法得到代码比调用乘除法子程序生成的代码效率高。实际上,只要是乘以或除以一个整数,均可以用移位的方法得到结果,

如:

分析a = a * 9可以拆分成 a =  a * ( 8 + 1 ) 即 a = a * 8 + a * 1

因此可以改为: a = ( a << 3 ) + a

分析a = a * 7可以拆分成 a =  a * ( 8 - 1 ) 即 a * 8 - a * 1

因此可以改为: a = ( a << 3 ) - a

关于除法读者可以类推, 此略.

Java中可以运用移位的数据类型

Char 、short 、int 、long 、

unsigned char 、unsigned short 、unsigned int、unsigned long

Java中无法进行运用移位的数据类型

Float 、double、boolean

java 乘法 位移_Java:移位实现的乘除法相关推荐

  1. java 乘法 位移_java 位移运算与乘法运算

    对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率.这个可以从一道面试题说起: 问题: 用最有效率的方法算出2 乘以8 等於几?" 答案:2 << ...

  2. java 乘法 位移_Java 使用位移运算实现乘法

    import java.util.Scanner; /** * @author Gaojie * @date 2018/7/23 10:15 * 程序开发中的乘法运算一般是通过 * 或 BigDeci ...

  3. java 乘法 位移_用移位实现乘除法运算

    用移位实现乘除法运算 a=a*4; b=b/4; 可以改为: a=a<<2; b=b>>2; 说明: 除2 = 右移1位               乘2 = 左移1位 除4 ...

  4. java乘法表_Java中四种9*9乘法表的实现方式(附代码)

    前言: 初学java,实现99乘法表是必学必会的内容. 需求 : 分别写出上下左右,对应四个角的乘法表. 思路: 可以先打印出*星星,形成一个直角三角形,然后再替换成乘法公式. 代码如下: publi ...

  5. Java二进制位运算、移位运算、、

    为什么80%的码农都做不了架构师?>>>    Java二进制位运算.移位运算 思考题 1.请看下面的代码段,回答a,b,c,d,e结果是多少? public static void ...

  6. 用java的io做一个代码计数器,如何制作Java页面计数器_java

    大庆采油六厂采油工艺研究所 王兵 王波 常常逛WWW的人,一定对许多起始页上的计数器感兴趣.每当你光临某个站点的起始页时,它的计数器就很亲切地告诉你,从某年某月某日开始,你是第几位光临的人.你可能也想 ...

  7. 【源码+图片素材+详细教程】Java游戏开发_Java开发经典游戏飞翔的小鸟_飞扬的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java课程设计项目

    课程目标: 1.通过本课程的学习巩固Java的相关基础知识,例如循环判断,数组和集合的使用,对象的继承,接口的实现,窗口的创建,事件监听,图形绘制. 2.完成小鸟的移动,管道自动生成.碰撞死亡,计分系 ...

  8. 【源码+教程】Java桌球游戏_Java初级项目_Java练手项目_Java项目实战_Java游戏开发

    今天分享的Java开源游戏项目是桌球游戏,初学者也可以用来练习喔~课程详细讲解了一个桌球游戏的编写思路和流程,即使你刚学Java没多久,也可以跟随该教程视频完成属于你自己的桌球游戏!同时,还可以加深和 ...

  9. 【源码+项目部署】Java课程设计项目_Java人力资源管理系统

    对就业和毕业都有帮助的Java实战项目来咯--人力资源管理系统! 人力资源管理系统 |Java项目2小时上手编写_源码+数据库拿走不谢!Java实战项目_Java开发https://www.bilib ...

最新文章

  1. 2021年大数据Hadoop(十):HDFS的数据读写流程
  2. unexpected symbol、unexpected end of input
  3. 第二阶段个人博客总结8
  4. java务必让常量的值在运行期保持不变
  5. 电机控制系统php,电机控制系统的未来发展变化趋势
  6. leetcode886.PossibleBipartition
  7. html中图片连续替换,C# 批量替换html中的图片 示例
  8. Quick-cocos2d-x luabinding
  9. DML、DDL的概念与区别
  10. 中位数和顺序统计,以线性期望时间做选择
  11. php如何实现自动加载mp3,如何简单的实现php自动加载
  12. office 2021安装教程+下载
  13. css居中对齐的几种方式
  14. H5页面唤起指定app或跳转到应用市场
  15. 软件安全开发 - 流程规范
  16. base64 文件格式判断 图片类型判断 js
  17. hdu 2881 Jack's struggle(DP)
  18. 《java程序员面试笔试宝典》学习笔记
  19. ROS urdf rviz xacro文件中的<inertia>详解
  20. 获得用户输入一个整数N,计算并输出N的32次方:

热门文章

  1. session和cookie的区别 session失效
  2. detectron2 demo cuda10.0 py3.6
  3. htonl() htons()及inet_ntoa() inet_addr()的用法
  4. 游戏计算机软著登记证书,“VR沙盘游戏心理疗法软件”取得计算机软件著作权登记证书...
  5. 机器学习与计算机视觉(slam技术)
  6. mfc ajax爬虫,另辟蹊径,爬取Ajax数据内容
  7. c语言实现 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。
  8. 量子计算机迷宫,工程杰作诞生可编程的光学量子计算机
  9. python自制语音识别_今天的语音识别,我们就用Python来做,从基础的知识到实践的运用...
  10. java xml文件无法打开,java – 无法打开beans.xml(配置文件)因为不存在