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. PowerBI开发 第十五篇:Power BI的行级安全

    Power BI支持行级安全(Row-Level Security,RLS)的权限控制,用于限制用户对Dashboard.报表和DataSet的访问.用户浏览的报表是相同的,但是看到的数据却是不同的. ...

  2. Mycat分布式数据库架构解决方案--配置defaultAccount属性报错解决方案

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 该文章 ...

  3. postman的基本用法,请求,断言,环境变量

    postman基本用法 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件. 它提供功能强大的 Web API & HTTP 请求调试. 它能够发送任何类型的HTT ...

  4. c#中关于string的特性介绍以及注意事项

    前言 string类型在我们实际项目开发中是一个最使用的类型,string是一个引用类型这一点大家都知道,但是在实际使用过程中,大家会发现string和我们常见的引用类型使用还真不一样,看下面的一个简 ...

  5. element 自定义 el-loading

    前言 虽说,el-loading 自带的loading效果已经满足日常的需求看 但是,美术大大觉得太low  我要我设计的,我不要你觉得我要我觉得 需求 自定义el-loading 正文 从官方需求文 ...

  6. 【Linux】【自学笔记】Linux下面docker安装mysql

    写在前面: 捣腾继续,之前把一个SpringBoot的程序安装在docker上面,参考链接:https://www.cnblogs.com/aki-stones/p/2019-11-01-note.h ...

  7. Go netpoll I/O 多路复用构建原生网络模型之源码深度解析

    导言 Go 基于 I/O multiplexing 和 goroutine 构建了一个简洁而高性能的原生网络模型(基于 Go 的I/O 多路复用 netpoll),提供了 goroutine-per- ...

  8. [考试反思]0920csp-s模拟测试48:弱小

    注:T1全场46个人里42个AC了. %%%zkt也AK了呢越来越强啊 我是真的越来越弱了吗? 我到底在干什么... 在难度递增的题里分数递增... 考试过程大体还好,但是如此快速地WA掉T1也真是蠢 ...

  9. NOIP模拟 14

    垃圾成绩,一点都不稳定. 如果把数组开小的分得到的话..总分还挺不错.. 那又能怪谁,都快NOIP了还犯这种傻逼错误 nc哥是要阿卡的节奏..真是太强了 某kyh也不知道偷了谁的rp,分高的一批 wd ...

  10. python学习之【第二篇】:Python中的数字及其所具有的方法

    1.前言 Python 数字(number)数据类型用于存储数值.数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间. 2.创建数字对象 以下实例在变量赋值时 Number ...