文章目录

  • 前言
  • 正文
    • 1 转换成二进制
      • 1.1 八进制 → 二进制
      • 1.2 十进制 → 二进制
      • 1.3 十六进制 → 二进制
    • 2 转换成八进制
      • 2.1 二进制 → 八进制
      • 2.3 十进制 → 八进制
      • 2.4 十六进制 → 八进制
    • 3 转化成十进制
      • 3.1 二进制 → 十进制
      • 3.2 八进制 → 十进制
      • 3.3 十六进制 → 十进制
    • 4 转化成十六进制
      • 4.1 二进制 → 十六进制
      • 4.2 十进制 → 十六进制
      • 4.3 八进制 → 十六进制
    • 总结

前言

刚学习计算机组成原理的时候会遇到这个,一开始觉得这个转换挺简单的,然后做了做突然发现它还有带小数点的,而且4个进制之间随意的进行转换。搞得我头都大了,真是的啊!!!然后我闭关1小时,写出了这个总结,来让大家也逃出进制之间转换的苦海。

正文

1 转换成二进制

1.1 八进制 → 二进制

从左到右每一个八进制数转换成3位二进制数。
例如:75 转换成 二进制,先将7转换成111,再将5转换成101,所以75转换成二进制就是111101。

1.2 十进制 → 二进制

  • 整数部分
    十进制转化为二进制应该大家都会吧,我在这里也讲一下吧,老师是用的取余运算,我感觉这个有点复杂,就讲我自己平时怎么做的了。
    例如 10 转化为二进制,首先10=8+2,这里都转化成2的次幂形式,直接8的二进制位1000,然后加上2的二进制位0010,所以10的二进制数是1010。
    - 小数部分
    小数部分转化成二进制,就是乘2取整然后依照取整顺序输出。这里贴个图更好的理解。(图来源:菜鸟教程)

1.3 十六进制 → 二进制

十六进制的类似于八进制,只是一位16进制数代表4位二进制数(其实也挺好理解的,就是4位二进制数的最大能表示15,刚好是没有16)

2 转换成八进制

2.1 二进制 → 八进制

相当于八进制转化成二进制的逆操作,从左到右每三位二进制数生成一位八进制数。
例如111101转化成二进制,首先将111转化成八进制7,再将101转化成八进制5,最后转换成了75。

2.3 十进制 → 八进制

  • 整数部分
    建议用间接法比较好,先转化成二进制,然后再转化成八进制。(多次试验的惨痛经验)
  • 小数部分
    和十进制小数部分转化成二进制差不多,只是这里是乘8取整。这里就不再过多解释了。

2.4 十六进制 → 八进制

也是建议用间接法,先转化成二进制,然后再转化成八进制,这我感觉是最简单的办法了,如果有更好的办法欢迎大家在评论区里评论。

3 转化成十进制

3.1 二进制 → 十进制

设n为二进制的当前位数,2^n-1代表每位的权重,转化时候只需要将每位乘以对应的权重,最后再全部加起来就行了。我这里举个例子,就会了。

3.2 八进制 → 十进制

和二进制转化为十进制大同小异,只是权重变成了8^n-1

3.3 十六进制 → 十进制

和二进制转化为十进制大同小异,只是权重变成了16^n-1

4 转化成十六进制

4.1 二进制 → 十六进制

和二进制转化为八进制大同小异,只是从左到右每4位转换成一位十六进制的数。这里不再多说了。

4.2 十进制 → 十六进制

建议先转化成二进制,然后再转化成十六进制。

4.3 八进制 → 十六进制

建议先转化成二进制,然后再转化成十六进制。不建议用取余运算。

总结

  • 转化成十进制的时候,只是每位乘以对应的权重,然后将所有的数加起来。权重根据几进制转化为十进制判断。
  • 八进制和十六进制之间的转换,建议先转换为中间二进制数,然后再进行转化,比较简单。

不同进制之间的转换[全网最全!!!]相关推荐

  1. java中各进制之间的转换(十进制转十六进制、十进制转二进制、二进制转十进制、二进制转十六进制)...

    在java编辑中有没有遇到经常需要进行java中各进制之间的转换(十进制转十六进制.十进制转二进制.二进制转十进制.二进制转十六进制)的事情呢?下面我们就来分析一下各自是怎么转换的: [java] / ...

  2. 二进制-八进制-十进制-16进制之间的转换

    进制之间的转换 主要用到连个函数: Convert.ToInt32(str,numbased):将字符串转成str,按照numbeased指定的进制转成10进制数: Convert.ToString( ...

  3. JAVA进制及进制之间的转换

    进制 一.进制 二进制: 0.1 满二进一 以0b开头作为标识 在jdk1.7之前程序中无法直接书写一个二进制数字 八进制: 0~7,满8进1 要求以0做开头为标识 十进制 十六进制: 0~9.A~F ...

  4. 9277用计算机,关于计算机常用进制以及进制之间的转换笔记

    计算机常用进制以及进制之间的转换 进制的由来 生活中的常用进制 计算机中的二进制 计算机常用四种进制的说明 八进制和十六进制 进制之间的转换 进制的由来 进位就是进位计数制,就是一种计数的方法 古代社 ...

  5. c 语言转换成php语言,C++_C 语言进制之间的转换,二进制、八进制和十六进制向 - phpStudy...

    C 语言进制之间的转换 二进制.八进制和十六进制向十进制转换都是非常容易的,就是"按权相加". 所谓"权",也即"位权".例如,十进制第1位 ...

  6. 一篇关于不同进制之间的转换、比如二进制、八进制、十进制、十六进制等

    1.其他进制转十进制二进制转十进制计算公式:从最低位开始(右边起),将每个位上的数提取出来,乘于2的(位数-1)次方,然后求和1101 =1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8 ...

  7. 计算机中各进制之间的转换

    各进制之间的转换 由于有些时候总是会忘记一些各种进制之间的转换,长时间不用,就会比较模糊,所有就将其做个总结. 二进制转十进制 首先就相当于二进制数 个位数x20+十位数x21+百位数x22- 例子 ...

  8. Python中各种进制之间的转换

    Python整数能够以十六进制,八进制和二进制来编写,作为一般以10位基数的十进制计数法的补充. 一: 上面三种进制的常用表示 >>> 0o1, 0o20, 0o377 # 八进制常 ...

  9. C++控制不同进制输出(二进制,八进制,十进制,十六进制)各种进制之间的转换

    目录 1.输出(头文件讲解) 2.格式控制 常用的I/O流控制符 4.各种进制之间的转换(进制大乱斗) 4.1.写在前面 4.2整体框架搭建 4.3菜单函数 4.4用户输入选择(main函数体中) 4 ...

最新文章

  1. 关于node.js的进程管理
  2. 【算法与数据结构】汉诺塔问题Java实现
  3. C# Base64编码/解码
  4. jQuery代码优化的9种方法
  5. 简单叙述html的发展历史,HTM
  6. 你绝对能懂的“机器学习”(一)
  7. mysql-bin磁盘满数据库重启不_liunx磁盘空间满了,导致mysql数据库无法启动
  8. oracle 主键约束复制,Oracle主键及约束
  9. CDNOW用户消费行为分析报告(python+ppt)
  10. 45 MM配置-采购-条件-定价过程-定义定价计算方案
  11. 【OpenCV】OpenCV实战从入门到精通之 -- 图像对比度、亮度值调整
  12. opensplice dds v6.3.2_给你看个宝贝,近乎完美的DDS正弦波信号音生成器
  13. Node.js webpack webpack-dev-server
  14. 无人驾驶网约车营销分析
  15. 批处理复制文件/文件夹到当前目录下所有文件夹中
  16. 图像处理系列——图像融合之加权平均(WA)
  17. 以下对python程序缩进格式描述错误的是_转载 | python二级选择题与分析(8)
  18. 怎么开启MIUI8系统的ROOT超级权限
  19. Oracle 的next_day函数详解
  20. 脸上8部位长痘原因与器官关系

热门文章

  1. 第一篇:nutz初步了解
  2. vulhub漏洞—Heartbleed
  3. 零星PCB打板|开源广场|每月2张|等你来撸|保姆级教程:嘉立创免费PCB打样获取攻略
  4. 如何在网页中打开一个本地桌面程序
  5. 千禧年七大难题之 P = NP
  6. 虾米 linux,GitHub - eNkru/electron-xiami: 虾米音乐 虾米电台 - Linux Mac | Xiami Player Xiami Radio deskt...
  7. 以航天标准研制,饮冰携三款激光雷达上演价格战?...
  8. 《开源思索集》一欢迎来到异步社区!
  9. DS18B20温度转化
  10. 基金公司上报薪酬方案:5000万封顶?不少基金公司2021年年终奖待发