栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 进制转换

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 进制转换

简介:指进位制,是人们规定的一种进位方式

计算机数据在底层运算,都是进制形式,(二进制居多)

二进制逢二进一,借一当二数码:0 1
八进制逢八进一,借一当八数码:0 1 2 3 4 5 6 7
十进制逢十进一,借一当十数码:0 1 2 3 4 5 6 7 8 9
十六进制逢十六进一,借一当十六数码:0 1 2 3 4 5 6 7 8 9 a b c d e f
  • Java 中进制的书写格式
二进制数值前面以0b开头,字母不区分大小写
八进制数值前面以0开头
十进制Java中,数值默认是十进制,不需要加修饰
十六进制数值前面以0x开头,字母不区分大小写

注意点:(1)运算或使用时,所有进制都转换为十进制

​ (2)以上内容是 JDK7 版本以上才被支持

十进制 转换 任意进制
  • 公式:除基取余

​ 使用源数据,不断的除以基数(几进制,基数就是几)得到余数,直到商为0,

​ 最后将余数倒着拼,得到进制数

  • 示例
'-------------------------------十进制 转 十六进制---------------------------------'
'100 ==> 十六进制
执行过程: 100 为 源数据 , 基数 = 16
100 / 16 商 = 6  余数 = 4   
6   / 16 商 = 0  余数 = 6
'100 的十六进制为 64'

'注意:当被除数小于除数时,商为0,余数为被除数
任意进制 转换 十进制
  • 公式 : 系数 * 基数的权次幂相加

    系数:每一位上的数(个位,十位,百位…)

    基数:几进制,就是几

    权(位权):从数值的右侧开始,以0开始,逐个 + 1 (类似反转的索引

    注意:次幂 == 次方

  • 示例

'-------------------------------二进制 转 十进制-----------------------------------'
'ob100 ==> 十进制 (ob 只是修饰符)
执行过程: 系数: 1  0  0 (三位系数)
          基数: 2
     二进制数据: 1  0  0 
            权: 2  1  0

 1 * 2 ^ 2 = 4 //应先算次方
 0 * 2 ^ 1 = 0 //0 * 任意数都为0
 0 * 2 ^ 0 = 0 //0 * 任意数都为0

4 + 0 + 0 = 4 //相加
'ob100 ==> 十进制为 4
快速进制转换法
  • 8421 码

​ 简介:别称BCD码,是BCD代码中常用的一种

二进制快速转十进制

概述:直接将二进制数值套入其中,0对应的值不取,1对应的值取出并相加

示例:

'将 ob10101010 转为十进制'
过程分析:
   8421码表: 128 64 32 16  8  4  2  1
  二进制数值:   1  0  1  0  1  0  1  0 //1对应的值取出
           	 128     32     8     2
 相加: 128 + 32 + 8 + 2 = 170 
二进制快速转八进制

概述:将8421码表三个二进制位看为一组,再进行转换,

​ 0对应的值不取,1对应的值取出相加,将值拼起来

原因:八进制逢八进一,三个二进制位最多表示为111 , 也就是数值7,如果出现第四位,就超出范围

示例:

'将 0b111100 转为八进制'
过程分析:
     8421码表: 4  2  1 | 4  2  1 | 4  2  1 
    二进制数值:    0  0 | 1  1  1 | 1  0  0
                      0   4  2  1   4
                          4+2+1=7   4       
                                74  //拼起来
二进制快速转十六进制

概述:将8421码表四个二进制位看为一组,再进行转换

​ 0对应的值不取,1对应的值取出相加,将值拼起来

**原因:十六进制逢十六进一,四个二进制位最多表示为1111 , **

​ 也就是数值15,如果出现第四位,就超出范围

示例:

'将 0b10110110 转为十六进制'
过程分析:
  8421码表:8  4  2  1 | 8  4  2  1 
二进制数值: 1  0  1  1 | 0  1  1  0
            8     2  1      4  2
             8+2+1=11    4+2=6
                      b6 //11对应的十六进制数 为b
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/821199.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号