当前位置: 首页 > news >正文

【计算机基础】任意进制转换方法详解

文章目录

      • 一、通用进制转换(整数部分)
        • 1. R进制转十进制(整数)
        • 2. 十进制转R进制(整数)
      • 二、通用进制转换(小数部分)
        • 1. 十进制小数转R进制
        • 2. R进制小数转十进制
      • 三、二进制与十进制互转(整数部分)
        • 1. 二进制转十进制(整数)
        • 2. 十进制转二进制(整数)
      • 四、二进制与十进制互转(小数部分)
        • 1. 十进制小数转二进制
        • 2. 二进制小数转十进制
      • 五、其他进制手算转换技巧
        • 1. 八进制 ↔ 二进制
        • 2. 十六进制 ↔ 二进制
      • 六、 进制转换工具函数
      • 五、总结

一、通用进制转换(整数部分)

1. R进制转十进制(整数)

通用公式
D 10 = ∑ i = 0 n d i × R i D_{10} = \sum_{i=0}^{n} d_i \times R^i D10=i=0ndi×Ri
步骤

  1. 从右到左编号(0开始)
  2. 每位数值乘 R 的幂次
  3. 结果相加

示例
( 127 ) 8 → 87 (127)_8 → 87 (127)887
1 × 8 2 + 2 × 8 1 + 7 × 8 0 = 87 1×8^2 +2×8 ^1 +7×8^0 = 87 1×82+2×81+7×80=87

Python 代码

def r_to_decimal(num_str, base):digits = "0123456789ABCDEF"decimal = 0num_str = num_str.upper()n = len(num_str)for i in range(n):digit = digits.index(num_str[i])decimal += digit * (base ** (n - 1 - i))return decimal
2. 十进制转R进制(整数)

原理:除 R 取余法

步骤

  1. 不断除以 R 记录余数
  2. 倒序排列余数

示例
13 → ( 15 ) 8 13 → (15)_8 13(15)8

13 ÷ 8 = 1 ... 5 ↑
1  ÷ 8 = 0 ... 1 ↑
结果为 15(从下往上读)

Python 代码

def decimal_to_r(decimal_num, base):digits = "0123456789ABCDEF"if decimal_num == 0:

相关文章:

  • C++ 基础复习
  • blender云渲染指南2025版
  • 如何在本地测试网站运行情况
  • 面试高频算法:最长回文子串
  • OpenCV 中用于背景分割(背景建模)的一个类cv::bgsegm::BackgroundSubtractorGSOC
  • windows10 环境下通过huggingface_hub下载huggingface社区模型
  • 碰一碰发视频源码搭建的技术迭代与升级实践
  • 金融小知识
  • 【AI入门】CherryStudio入门3:结合FastMCP创建自己的MCP服务,实现哔哩视频查询
  • stable Diffusion模型结构
  • 使用 Python 与 Java 实现接入 AI 大模型的 MCP 协议:原理与实战
  • AbMole的Calcein-AM/PI细胞双染试剂盒,精准区分细胞活死状态
  • CI/CD与DevOps流程流程简述(提供思路)
  • 电商双11美妆数据分析实验总结
  • 图片处理软件2025年的最新版,免激活绿色软件!
  • 【LeetCode】高频 SQL 50题 题解
  • DeepSeek技术最新进展分析报告(2025年5月)
  • Sat2Density论文详解——卫星-地面图像生成
  • 6. HTML 锚点链接与页面导航
  • AI 大模型新浪潮:从 DeepSeek-Prover 到 Qwen3,再到 DeepSeek-R2,迈向自动推理的新时代20250507
  • 重温经典|开播20周年,仙剑的那些幕后你知道吗?
  • “80后”赵亮出任上海普陀区委副书记
  • 《中国人民银行业务领域数据安全管理办法》发布,6月30日起施行
  • 中日有关部门就日本水产品输华问进行第三次谈判,外交部回应
  • 吉林市马拉松5月18日开赛,奖牌、参赛服公布
  • 甘肃省政府原副省长赵金云被决定逮捕