前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【软考学习1】数据表示——进制转换,R进制转10进制 和 10进制转R进制

【软考学习1】数据表示——进制转换,R进制转10进制 和 10进制转R进制

作者头像
Designer 小郑
发布2023-08-01 11:18:01
3640
发布2023-08-01 11:18:01
举报
文章被收录于专栏:跟着小郑学JAVA

进制转换是软考必考的项目,首先对其进行复习。 进制转换模块可分为两块——R进制转10进制、10进制转R进制

在这里插入图片描述
在这里插入图片描述

零、使用场景

日常生活中通常使用十进制,但计算机底层都是采用二进制计算,所以会涉及到进制转换。


一、十进制转R进制(短除法)

样例一

除法的计算公式为 被除数 ÷ 除数 = 商 + 余数

比如要将 94 转换为 3 进制,过程如下:

被除数 94 除以 3,商为 31,余数为 1; 被除数 31 除以 3,商为 10,余数为 1; 被除数 10 除以 3,商为 3,余数为 1; 被除数 3 除以 3,商为 1,余数为 0; 被除数 1 除以 3,商为 0,余数为 1

所以从下到上,答案就是10111,如下图所示。

在这里插入图片描述
在这里插入图片描述
样例二

比如要将 68 转换为 6 进制,过程如下:

被除数 68 除以 6,商为 11,余数为 2; 被除数 11 除以 6,商为 1,余数为 5; 被除数 1 除以 6,商为 0,余数为 1

所以从下到上,答案就是152,如下图所示。

在这里插入图片描述
在这里插入图片描述
程序验证

结果可以采用 Java 程序验证,相关代码如下。

代码语言:javascript
复制
public static void main(String[] args) {
    // 转换前数字
    Integer number = 94;
    // 转换结果
    String ans = Integer.toString(number,3);
    // 94 转换为 3进制,答案为 10111
    System.out.println(ans);
}

二、R进制转十进制(按权展开法)

将 R 进制数的每一位拆为幂次方形式,幂的底数为 R,指数为 K,K 是数位和小数点的有向距离,左边为正,右边为负。

样例三

16进制数 6A810 进制 第一位 6 ,拆分为 6 乘 162 次方。 第二位 A(即10),拆分为10161 次方。 第三位 8,拆分为 8160 次方。 再将所有结果相加,最终得到 1701 的答案,如下图所示。

样例四

比如13进制数 8B7 转10进制 第一位 8 ,拆分为 8132 次方。 第二位 B(即11),拆分为11 乘 131 次方。 第三位 7,拆分为 7130 次方。 再将所有结果相加,最终得到 1502 的答案,如下图所示。

在这里插入图片描述
在这里插入图片描述
程序验证

结果可以采用 Java 程序验证,相关代码如下。

代码语言:javascript
复制
public static void main(String[] args) {
    String number = "8B7";
    Integer ans = Integer.parseInt(number,13);
    System.out.println(ans);
}

三、总结

今天对进制转换进行了学习,掌握了 R 进制转 10 进制10进制转 R 进制的方法。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 零、使用场景
  • 一、十进制转R进制(短除法)
    • 样例一
      • 样例二
        • 程序验证
        • 二、R进制转十进制(按权展开法)
          • 样例三
            • 样例四
              • 程序验证
              • 三、总结
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档