java中运算都是操作符号,那么整形默认为int,双精度默认为都double

整数

看案例:

无法编译通过:操作默认为int,接受结果为int,所以这个地方编译无法通过,所以需要强制类型转换

再看案例:

再看双精度:

这种是可以的,再看

这也是可以的,看结果:

精度损失。再看

结果:

再看多种案例:

看结果:

再看案例 :

看结果

那么会什么会出现这么多问题呢,原因

在数据结果,转为二进制的时候,比如0.3  转换为二进制如这么转换的

0.3*2->0.6->0.6*2>1.2   二进制为1

将小数点后面的0.2继续进行

0.2*2》0.4>0.8>1.6>二进制为1

再进行

0.6*2》1.2 二进制1 再进行

0.2 *2》0.4》0.8》1.6 如此循环下去,导致最后会进行精度损失,

所以如果项目中要有这样的,所以需要进行采用dicmal类型来操作精度。避免精度损失

| ^ & 运算解析:

看案例:

看结果:

这是为什么呢。

分析

第一个为或运算,第二个为与运算,第三个为亦或预算

3转化为二进制的  0000 0011

1转为二进制         0000 0001

或,只要其中一个为正确那么就正确,在进行运算的时候,只要其中一个为1,那么就为1

所以 1|3   结果为0000 0011  即结果为3

与 只要两个都正确,那么正确,在运算中只要两个相同就为1,另外为0

1&3  结果为0000 0001  所以结果为1

亦或 只要两个不同才正确,所以计算时候,只有两个不同才为1,另外为0

1^3  结果0000 0010 所以结果为2

位运算

看案例:

一个是左移,一个是右移

1 二进制 0000 0001   向右移 3位 所以 0000 0000 所以结果为0

左移 0000 1000 所以为 8

再看案例:

9的二进制为 0000 1001

左移移动 0100 1000 结果为2e6+2e3=64+8=72     计算规则是这样的,首先最后一个为2的0次方,那么第七位就为2的6次方,第四位就为2的3方法

右移 0000 0001 所以结果为1

随机推荐

  1. unity image 设置图片

    从任意文件目录下读取文件并在unity中显示: 1)读取目标文件 byte[] imageByte = File.ReadAllBytes(imagePath); 2)转换成纹理 texture.Lo ...

  2. 一个基于Net Core3.0的WPF框架Hello World实例

    目录 一个基于Net Core3.0的WPF框架Hello World实例 1.创建WPF解决方案 1.1 创建Net Core版本的WPF工程 1.2 指定项目名称,路径,解决方案名称 2. 依赖库 ...

  3. token和session

    什么是token? token是服务端生成的一串字符串,目的是作为客户端进行请求的一个令牌.当第一次登录后,服务器生成一个token(一串字符串),并将此token返回给客户端,此后页面接收到请求后, ...

  4. Office 2019 Word表格无法跨页重复标题行

    Office 2019 Word表格无法跨页重复标题行 今天使用Word设置表格枫叶重复标题行,死活无法实现 右键属性设置还是直接点击重复标题行设置,表格整个跳转到下一页去了 然后百度了解决方案是在[ ...

  5. [考试反思]0908NOIP模拟测试40:颠簸

    怎么说呢?好像也没什么可说的. 把我的优缺点都表现出来了的一场考试. T3是个小的dp想出来就能打,打出来就能A.我上来过了一遍题目觉得T3最简单(然而也并不是很简单) 然后就开始打,交,其实已经A了 ...

  6. Mybaits 源码解析 (十)----- 全网最详细,没有之一:Spring-Mybatis框架使用与源码解析

    在前面几篇文章中我们主要分析了Mybatis的单独使用,在实际在常规项目开发中,大部分都会使用mybatis与Spring结合起来使用,毕竟现在不用Spring开发的项目实在太少了.本篇文章便来介绍下 ...

  7. request爬虫通用的小技巧

    嵩天老师一直强调的通用代码框架,这个框架可以用在很多爬虫中用来获取HTML文本,并且它通过response.raise_for_status()方法判断返回的状态码是不是200,如果不是,就会引发HT ...

  8. vue的相关知识

    一.DOM vs 函数库 vs框架 DOM:  API繁琐 函数库:JQuery对DOM的每个步骤的API进行一对一的简化,但并没有改变DOM做事的步骤和方法. 框架:一个包含部分已经实现的功能的半成 ...

  9. C语言程序设计100例之(8):尼科彻斯定理

    例8    尼科彻斯定理 题目描述 尼科彻斯定理可以叙述为:任何一个整数的立方都可以表示成一串连续的奇数的和.需要注意的是,这些奇数一定是连续的,如:1,3,5,7,9,…. 例如,对于整数5,5*5 ...

  10. C#: 统计method的执行时间

    对于性能分析来说,无非是内存占用,CPU使用和执行时间. 那么,对于执行时间(elapsed times)的测量,需要强调的是,尽量不要使用DateTime类来,而是应该使用Stopwatch 类.M ...