16进制时间 java_Java 进制及转换

本文介绍了Java中的四种整型类型以及它们在不同进制下的表示方式,包括十进制、二进制、八进制和十六进制。进制转换方法包括位权加和法(R进制转十进制)和除基取余法(十进制转R进制)。此外,文章还探讨了计算机为何使用多种进制,特别是十六进制在计算机硬件、网络编程和数据存储中的应用。
摘要由CSDN通过智能技术生成

Java 整型的表现形式

Java 数据类型中有四种整型,分别是 byte、short、int、long,而整型定义下的数据还会按进制来区分:

十进制整数:都是以 0-9 这九个数字组成,不能以 0 开头,例如 12,-127

二进制整数:0 和 1 两个数字组成,以 0b 开头,例如 0b011 (对应于十进制的 3 )

八进制整数:由 0-7 数字组成,为了区分与其他进制的数字区别,开头都是以 0 开始,例如014(对应于十进制的 12)

十六进制整数:由 0-9 和 A-F 组成,为了区分于其他数字的区别,开头都是以 0x 或 0X 开始,例如0XF(对应于十进制的15)

进制的由来

几乎每个民族最早都使用都十进制计数法,这是因为人类计数时自然而然地首先使用的是十个手指,但是这不等于说只有十进制计数法一种计数方法。

例如,世界各国在计算年月日时不约而同地使用 “十二进制” 12 个月为一年

例如,我国过去 16 两才算为一斤,这就是 “十六进计数法”, 一个星期七天,这个就是 ”七进制计算法”。

计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用 “1” 和 “0” 表示。

不同进制整数转换方法

R 进制转十进制(不分整数和小数部分)

方法:位权加和(将R进制按权展开,再在十进制的数制系统内进行计算)

举例:27(八进制)-> 23(十进制)

27 = 2 x 8 ^ 1 + 7 x 8 ^ 0 = 2 x 8 + 7 x 1 = 23

十进制转 R 进制

方法:除基取余法(最后余数为最高位)

举例:11(十进制)->1011(二进制)

11 / 2 = 5 (余数为1)

5 / 2 = 2 (余数为1)

2 / 2 = 1(余数为0)

1/2 = 0(余数为1)最高位

将余数从下向上写在一起就答案: 1011

可能你会有疑问,在我们生活中主要使用十进制,为何计算机还要使用这么多种进制呢?我就拿十六进制举例,说一说它在计算机里的用处。

计算机硬件是 0101 二进制的,16 进制刚好是 2 的倍数,更容易表达一个命令或者数据

最早规定 ASCII 字符集采用的就是 8 bit( 1个字节 ),8 bit用 2 个 16 进制直接就能表达出来,不管阅读还是存储都比其他进制要方便

计算机中 CPU 运算也是遵照 ASCII 字符集,以16、32、64的这样的方式在发展,因此数据交换的时候 16 进制也显得更好

为了统一规范,CPU、内存、硬盘我们看到都是采用的 16 进制计算

十六进制使用场景

网络编程:数据交换的时候需要对字节进行解析都是一个byte一个byte的处理,1个byte可以用0xFF两个16进制来表达

数据存储:存储到硬件中是 0101 的方式,存储到系统中的表达方式都是 byte 方式

一些常用值的定义,比如:我们经常用到的 html 中 color 表达,就是用的 16 进制方式,4 个 16 进制位可以表达好几百万的颜色信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值