文章目录

  • 一、进制表示符号
  • 二、十进制转换为二进制、八进制、十六进制
    • 2.1、十进制转换为二进制
    • 2.2、十进制转换为八进制
    • 2.3、十进制转化为十六进制
  • 三、二进制、八进制、十六进制转换为十进制
    • 3.1、二进制转换为十进制
    • 3.2、八进制转换为十进制
    • 3.3、十六进制转换为十进制
  • 四、二进制转换为八进制、十六进制
    • 4.1、二进制转换为八进制
    • 4.2、二进制转换为十六进制

一、进制表示符号

二进制:B 用0和1表示
八进制:O 用0、1、2、3、4、5、6、7
十进制:D 用0、1、2、3、4、5、6、7、8、9
十六进制:H 用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

二、十进制转换为二进制、八进制、十六进制

2.1、十进制转换为二进制

整数部分:整数部分除2取余数,再取倒序
小数部分:小数部分乘2取整,再顺序取(小数部分为零时,即为乘完或者按题目要求精度要求取小数后几位)

eg:68.125D = 1000100.001B(精确到小数后4位)
解析:
68/2=34…0
34/2=17…0
17/2=8…1
8/2=4…0
4/2=2…0
2/2=1…0
1/2=0…1
整数部分倒序取为:1000100

0.125×2=0.25…0
0.25×2=0.5…0
0.5×2=1.0…1
小数部分顺序取为:001

2.2、十进制转换为八进制

整数部分:整数部分除8取余数,再取倒序
小数部分:小数部分乘8取整,再顺序取(小数部分为零时,即为乘完或者按题目要求精度要求取小数后几位)

eg:57.5D = 71.4O(精确到小数后3位)
解析:
57/8=7…1
7/8=0…7
整数部分为:71

0.5×8=4.0…4
小数部分为:4

2.3、十进制转化为十六进制

整数部分:整数部分除16取余数,再取倒序
小数部分:小数部分乘16取整,再顺序取(小数部分为零时,即为乘完或者按题目要求精度要求取小数后几位)

eg:69.625D=45.aH(精确到小数后2位)
解析:
69/16=4…5
4/16=0…4
整数部分为:45

0.625×16=10…a
小数部分为:a

三、二进制、八进制、十六进制转换为十进制

3.1、二进制转换为十进制

整数部分:每个数去乘以2的相应次方
小数部分:小数点后则是从左往右(从-1一直往后)。

eg:00101010.01B = 42.25D
解析:
最后一位下标为0,从0开始,向左记数
整数部分:
0 0 1 0 1 0 1 0 ---->二进制数(整数部分)
7 6 5 4 3 2 1 0 ---->下标
计算:
00101010B=0×2^6 + 0×2^5 + 1×2^5 + 0×2^4 + 1×2^3 + 0×2^2+ 1×2^1 + 0×2^0 = 42D

小数部分:
0 1 ---->二进制数(整数部分)
-1 -2 ---->下标
计算:
0.01B = 0×2^(-1) + 1× 2^(-2) = 0.25D

3.2、八进制转换为十进制

整数部分:每个数去乘以8的相应次方
小数部分:小数点后则是从左往右(从-1一直往后)。

eg:71.4O = 57.5D
解析:
最后一位下标为0,从0开始,向左记数
整数部分:
7 1 ---->八进制数(整数部分)
1 0 ---->下标
计算:
71.4O=7×8^1 + 1×8^0 = 57D

小数部分:
4 ---->二进制数(整数部分)
-1 ---->下标
计算:
0.4O = 4×8^(-1)= 0.5D

3.3、十六进制转换为十进制

整数部分:每个数去乘以16的相应次方
小数部分:小数点后则是从左往右(从-1一直往后)。

eg:a.2H = 10.125D
解析:
最后一位下标为0,从0开始,向左记数
整数部分:
a ---->八进制数(整数部分)
0 ---->下标
计算:
aH=a×16^0 = 10D

小数部分:
2 ---->二进制数(整数部分)
-1 ---->下标
计算:
0.2H = 2×16^(-1)= 0.125D

四、二进制转换为八进制、十六进制

4.1、二进制转换为八进制

取三合一法:以小数点为分界点,向左(向右)每三位取成一位(不足用零补齐),接着将这三位二进制按权相加,得到的数就是一位八位二进制数,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。

eg:100011.01110B=43.34O
整数部分:
100 011
210 210 ------>下标
计算:
100=1×2^2 + 0×2^1 + 0×2^0 =4
011=0×2^2 + 1×2^1 + 1×2^0=3
100011B = 43O

小数部分
011 100
210 210
计算:
011=0×2^2 + 1×2^1 + 1×2^0=3
100=1×2^2 + 0×2^1 + 0×2^0=4
0.01110B=0.34O

4.2、二进制转换为十六进制

取四合一法:以小数点为分界点,向左(向右)每四位取成一位(不足用零补齐),接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。

eg:11001.001B=19.2H
整数部分:
0001 1001
3210 3210 ---->下标
计算:
0001=1×2^3 + 1×2^2 + 0×2^1 + 0×2^0=1
1001=1×2^3 + 0×2^2 + 0×2^1 + 0×2^0=9
11001B=19H

小数部分
0010 ()不足四位自动补0
3210 ---->下标
计算:
0010 = 0×2^3 + 0×2^2 + 1×2^1 + 0×2^0=2
0.001B=2H

八进制转换成十六进制算法通常有两种方法:
1、先将八进制转换成二进制,再将二进制转换成十六进制
2、先将八进制转换成十进制,再将十进制转换成十六进制

参考的文章:https://blog.csdn.net/zhouym_/article/details/88360625

二、八、十、十六进制及小数间的转换相关推荐

  1. 计算机里常用的二/八/十/十六进制

    休闲之余整理了下电脑和手机计算器里最常用的进制 1.HEX,Hexadecimal ,代逢十六进一,表十六进制.一般用数字0到9和字母A到F表示,其中A~F表示10~15.前缀一般用数字0和字母X(不 ...

  2. c语言十六进制转换加H,c语言十六进制和十进制间的转换.docx

    集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988) 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988) ...

  3. 二 八 十 十六 进制之间快速转换

    一. 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数 ...

  4. c语言进制转换pdf下载,C语言 十六进制和十进制间的转换.pdf

    1.将十六进制转换为十进制. #include #include int main(void){ int convert(int,char *); int i,j ; char m[20]; prin ...

  5. js 定义一个二/八/十六进制数,进制之间的转换

    在javascript中定义二进制需使用0b开头 console.log(0b1001); // 9 console.log(1001); // 1001 在javascript中定义八进制需使用0开 ...

  6. 两个八进制小数怎么相加_组成原理中关于小数和整数关于十,二,十六,八进制之间任意的转换...

    一:我们首先介绍一下基数和位权这个概念: 二:十六.八.二进制转换二.八.十六进制 三   十进制转换二.八.十六进制 四 :任意进制数转换为十进制教 一:我们首先介绍一下基数和位权这个概念: 1)基 ...

  7. 《Python Cookbook 3rd》笔记(3.4):二、八、十六进制整数

    二.八.十六进制整数 问题 你需要转换或者输出使用二进制,八进制或十六进制表示的整数. 解法 为了将整数转换为二进制.八进制或十六进制的文本串,可以分别使用 bin() , oct() 或 hex() ...

  8. python实现进制转换器_python实现进制转换(二、八、十六进制;十进制)

    python实现进制转换(二.八.十六进制:十进制) (一)十进制整数转为二.八.十六进制 1.format实现转换 >>> format(2,"b") # (1 ...

  9. python转换八进制用取余数方法_python 二、八、十六进制之间的快速转换

    一.进制转换 1.2 十进制转二进制 bin(18)--> '0b10010'     去掉0b就是10010    即为十进制18转二进制是10010 十进制转八进制oct(18) --> ...

最新文章

  1. Spring Cloud【Finchley】-10Hystrix监控
  2. 【NLP】含10,000 Python问题,伯克利联合团队推出新的代码生成评价基准
  3. Mysql命令行修改字段类型
  4. 双栏模板图片标题无法居中_没想到吧,只用一张图片,你就可以做一份PPT!
  5. [转]:tbox中数据库的使用
  6. html5连接mysql数据库操作_html5-本地数据库的操作
  7. 【PHP学习】—创建PHP文件(一)
  8. Slardar Sql Mapper Framework for Java( Java 持久层框架一枚~)
  9. Python中的注释和文档
  10. Eclipse中source folder、folder、package的区别?
  11. 游戏数据分析-玩家战力分析
  12. 书中自有黄金屋系列5:读《正面管教》
  13. mysql 1062_mysql #1062 报错
  14. 号外 ! 号外 ! V7包下的View都来此参加同学会 , 快来看,快来看...
  15. mysql怎样发给别人_怎么把数据库发给别人
  16. 恐怖系列丨互联网幕后攻防:咳血的独角兽之血腥丛林中的无底线战争
  17. int argc,char*argv[ ]的简洁解释
  18. lucene ---- 黑马教程
  19. node.js+小程序基于微信小程序的校园失物招领系统毕业设计源码072343
  20. 服务器用viroblast搭建blast

热门文章

  1. c 程序 实现一元二次方程
  2. python读取连接数据库文件_python 读取配置文件 pandas连接数据库
  3. 31. Leetcode 82. 删除排序链表中的重复元素 II (链表-双指针)
  4. 异常检测-孤立森林(IsolationForest)
  5. spark读取hbase数据
  6. 数据挖掘流程(四):建模调参
  7. 机器学习高阶认识(一): 机器学习假设与迁移学习
  8. pytorch笔记 torch.clamp(截取上下限)
  9. MATLAB应用实战系列NSGA-II多目标优化算法原理及应用实例(附MATLAB代码)
  10. 深度学习核心技术精讲100篇(六)-keras 实战系列之知识蒸馏(Knowledge Distilling)