栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基本数据类型以及位运算

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基本数据类型以及位运算

1 基本数据类型

Java基本类型共有八种:字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。

简单类型booleanbytecharshortIntlongfloatdouble
二进制位数18161632643264
最大存储数据量/256/655362^322^64//
数据范围/-128~127/-216~ 216-1-231~231-1-264~264-1//
封装器类BooleanByteCharacterShortIntegerLongFloatDouble

Java提供的位运算符有:左移(<<)、右移(>>) 、无符号右移( >>> ) 、位与( & ) 、位或( | )、位非( ~ )、位异或( ^ ),除了位非( ~ )是一元操作符外,其它的都是二元操作符。

2 位运算 2.1 左移( << )

5<<2

0000 0000 0000 0000 0000 0000 0000 0101 左移2位,正负数低位都补0:

0000 0000 0000 0000 0000 0000 0001 0100 换算成10进制为20,变大了2^2倍

2.2 右移( >> )

5>>2

0000 0000 0000 0000 0000 0000 0000 0101 然后右移2位,高位补0:
0000 0000 0000 0000 0000 0000 0000 0001 换算成10进制为1,精度损失

-5>>2

1111 1111 1111 1111 1111 1111 1111 1011 然后右移2位,负数高位补1:

1111 1111 1111 1111 1111 1111 1111 1111 换算成10进制为-1,精度损失

2.3 无符号右移( >>> )

-5>>>3

1111 1111 1111 1111 1111 1111 1111 1011 然后右移2位,无符号高位补0:

0001 1111 1111 1111 1111 1111 1111 1111 换算成10进制为536870911

2.4 位与( & )

5&13 = 5

0000 0000 0000 0000 0000 0000 0000 0101

0000 0000 0000 0000 0000 0000 0000 1101

每位与运算,转化为:

0000 0000 0000 0000 0000 0000 0000 0101

2.5 位或( | )

5|13 = 13

0000 0000 0000 0000 0000 0000 0000 0101

0000 0000 0000 0000 0000 0000 0000 1101

每位或运算,转化为:

0000 0000 0000 0000 0000 0000 0000 1101

2.6 位异或( ^ )

5^13 = 8

0000 0000 0000 0000 0000 0000 0000 0101

0000 0000 0000 0000 0000 0000 0000 1101

每位比较,相同为0,不同为1,转化为:

0000 0000 0000 0000 0000 0000 0000 1000

2.7 位非( ~ )

~5

0000 0000 0000 0000 0000 0000 0000 0101 取反

1111 1111 1111 1111 1111 1111 1111 1010

3 leetcode例题练习

题目:371 两整数之和 不适用 + - 实现加法.
用位运算模拟加法器

在不考虑进位的情况下,其无进位加法结果为 a ^ b。

而所有需要进位的位为a & b,进位后的进位结果为(a & b) << 1。

class Solution {
    public int getSum(int a, int b) {
        while (b != 0) {
            int carry = (a & b) << 1;
            a = a ^ b;
            b = carry;
        }
        return a;
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271828.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号