IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 新手小白学JAVA 二进制与Java中的二进制 -> 正文阅读

[Java知识库]新手小白学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知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-20 14:57:12  更:2021-08-20 14:57:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 3:29:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码