新手小白学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

大概了解了二进制后,我们来学习一下常用进制之间是怎么转换的吧!

进制之间的转换
  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值