Java 基础学习(7)

2022-10-26 17:00:35 浏览数 (1)

目录

前言:

一、进制

(1)进制分类

(2)进制介绍

二、进制转换

(1)进制转换分组

1)第一组

2)第二组

3)第三组

4)第四组

(2)转换规则

1)任意进制转 十进制  (按权展开求和)

2)十进制转任意进制

3)二进制转八进制 和 二进制转十六进制

4)八进制转二进制 和 十六进制转二进制

总结:


前言:

        进制转换相关知识。

一、进制

(1)进制分类

        对于整型数据有四种进制表达方式,分别是:二进制、八进制、十进制和十六进制。计算机可以识别的进制为二进制。

(2)进制介绍

1)二进制:0,1,满 2 进 1 ,以0b或0B开头。

2)八进制:0 - 7,满 8 进 1,以数字0开头。

3)十进制:0 - 9,满 10 进 1。

4)十六进制:0 - 9 和 a - f 或 A - F,满 16 进 1,以0x或0X开头,a-f表示10-15

二、进制转换

(1)进制转换分组

1)第一组

十进制转二进制;十进制转八进制;十进制转十六进制。

2)第二组

二进制转十进制;八进制转十进制;十六进制转十进制。

3)第三组

二进制转八进制;二进制转十六进制。

4)第四组

八进制转二进制;十六进制转二进制。

(2)转换规则

1)任意进制转 十进制  (按权展开求和)

二进制转十进制方法:

        从最低位开始,将每个位上的数提取出来,乘以 2 的 位数-1 次方,然后求和。

八进制转十进制方法:

        从最低位开始,将每个位上的数提取出来,乘以 8 的 位数-1 次方,然后求和。

十六进制转十进制方法:

        从最低位开始,将每个位上的数提取出来,乘以 16 的 位数-1 次方,然后求和。

演示:

代码语言:javascript复制
0b1101 = 1 * 2 ^ 0   0 * 2 ^ 1   1 * 2 ^ 2   1 * 2 ^ 3
       = 1   0   4   8 = 13
// 二进制转十进制

0234 = 4 * 8 ^ 0   3 * 8 ^ 1   2 * 8 ^ 2
       = 4   24   128  = 156
// 八进制转十进制

0x23B = 11 * 16 ^ 0   3 * 16 ^ 1   2 * 16 ^ 2
       = 11   48   512  = 571
// 十六进制转十进制

2)十进制转任意进制

十进制转二进制方法:

        将一个数数不断除以 2,直到商为 0 为止,然后将每次得到的余数倒过来,就是对应的二进制数。

十进制转八进制方法:

        将一个数数不断除以 8,直到商为 0 为止,然后将每次得到的余数倒过来,就是对应的二进制数。

十进制转十六进制方法:

         将一个数数不断除以 16,直到商为 0 为止,然后将每次得到的余数倒过来,就是对应的二进制数。

演示:

代码语言:javascript复制
34 => 0b00100010
// 十进制转二进制

34 => 042
// 十进制转八进制

34 => 0x22
// 十进制转十六进制

3)二进制转八进制 和 二进制转十六进制

二进制转八进制方法:

        从低位开始,将二进制数每三位分成一组,转成对应的八进制数即可。

二进制转十六进制方法:

        从低位开始,将二进制数每四位分成一组,转成对应的十六进制数即可。

演示:

代码语言:javascript复制
ob11010101 => ob11(3) 010(2) 101(5) => 0325
// 二进制转八进制

ob11010101 => 1101(D)  0101(5) => 0xD5
// 二进制转十六进制

4)八进制转二进制 和 十六进制转二进制

八进制转二进制方法:

        将八进制数的每 1 位,转成对应的一个 3 位的二进制数即可。

十六进制转二进制方法:

        将十六进制数的每 1 位,转成对应的一个 4 位的二进制数即可。

演示:

代码语言:javascript复制
0237 => 0 3(011) 3(011) 7(111) => 0b11011111
// 八进制转二进制

0x23b => 0x 3(0011) 3(0011) b(1011) = 0b001100111011
// 十六进制转二进制

总结:

了解各个进制之间转换的方法,灵活多变进行转换。

0 人点赞