新手小白学JAVA 二进制与Java中的二进制
Posted 程序媛 泡泡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手小白学JAVA 二进制与Java中的二进制相关的知识,希望对你有一定的参考价值。
什么是二进制?
1. 前言
对于任何一种进制—X进制,就表示每一位置上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
我们常用的有以下几种进制:
Bin 二进制Binary,简写为B,在Java中的前缀表示为0b
Oct 八进制Octal,简写为O,在Java中的前缀表示为0
Des 十进制Decimal,简写为D
Hex 十六进制Hexadecimal,简写为H,在Java中的前缀表示为0x
2. 初识二进制
其实,不同进制的计算方式是相通的:
我们先列一些常用的10进制与2进制的对应关系,大家先来感受一下:
通过这张图,有没有发现一些规律呢?
对于10进制而言:10到100需要乘以十进制的10,1000到10000也需要乘以10
对于2进制而言:每加一个0都需要乘以二进制的2,所以用2的指数来表示。
例如 10000000,1后面有7位,就可以用2的7次方表示。
我们列张图,大家来比较一下十进制乘10和二进制乘2的运算结果:
3. Java中的byte类型
java 中的 byte 类型整数是单字节类型,也就是说,它使用 8 位(bit) 来表示整数。
8 位(bit)能表示的数字:
但是!!!java中byte类型的左侧的一位规定用来表示符号,0表示正数,1表示负数。那么它表示数字的位就只有7位,而不是8位,所以:
java 中 byte 类型正数的表示:
java 中 byte 类型负数的表示:
java 的 byte 类型如何表示负数?最小值-128.符号位是1,其余7位是0,得10000000
那-128+1得-127,表示为10000001,那么可以以此类推,继续执行加1运算加到负数的最大值:11111111,如下图所示:
4. Java中整数类型的最小值与最大值
与 byte 类型相同,short,int 和 long 也是用相同的方式表示整数。
这四种类型的最小值和最大值分别可以这样表示:
4.1 byte(1字节,8位):
2进制 2的指数
最小 10000000 -2^7
最大 01111111 2^7 - 1
4.2 short(2字节,16位):
2进制 2的指数
最小 10000000 00000000 -2^15
最大 01111111 11111111 2^15 - 1
4.3 int(4字节,32位):
2进制 2的指数
最小 10000000 00000000 00000000 00000000 -2^31
最大 01111111 11111111 11111111 11111111 2^31 - 1
4.4 long(8字节,64位):
2进制 2的指数
最小 10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 -2^63
最大 01111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 2^63 - 1
以上是关于新手小白学JAVA 二进制与Java中的二进制的主要内容,如果未能解决你的问题,请参考以下文章