一、基础内容

十进制:有十个基数 0,1,2,3,4,5,6,7,8,9

二进制:逢二进一,借一为二。

基数为0,1

八进制:逢八进一,借一为八。

基数为0,1,2,3,4,5,6,7

十六进制:逢十六进一,借一为十六。

基数为0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)

二、转换方法

1、十进制与其他进制(二、八、十六)

十进制→ 二进制:十进制数除以二,除至0后,所得余数按照反方向写出即可。(如图所示)

十进制→ 八进制:十进制数逐次整除八,直至商为0,所得余数按照反方向写出即可。

(同理,把上图中2换成8计算即可)

十进制→ 十六进制:十进制数逐次整除十六,直至商为0,所得余数按照反方向写出即可,但要注意10及其以上的数字用字母A-F表示。

(同理,把上图中2换成16计算即可)

2、其他进制(二、八、十六)与十进制

注意:a---m方向为从右到左

二进制→十进制:a×20+b×21+c×22+d×23+…….+m×2(n-1)

例如:将二进制的(101011)转换为十进制的步骤如下:

1. 第0位 1 x 2^0 = 1;

2. 第1位 1 x 2^1 = 2;

3. 第2位 0 x 2^2 = 0;

4. 第3位 1 x 2^3 = 8;

5. 第4位 0 x 2^4 = 0;

6. 第5位 1 x 2^5 = 32;

7. 读数,把结果值相加,1+2+0+8+0+32=43

二进制位数(从右到左)

第一位

第二位

第三位

第四位

第五位

第六位

第七位

第八位

对应的2的次方

2^0

2^1

2^2

2^3

2^4

2^5

2^6

2^7

对应结果

1

2

4

8

16

32

64

128

八进制→十进制:a×80+b×81+c×82+d×83+…….+m×8(n-1)

例如:将八进制的(53)转换为十进制的步骤如下:

1. 第0位 3 x 8^0 = 3;

2. 第1位 5 x 8^1 = 40;

3. 读数,把结果值相加,3+40=43(8)

八进制位数(从右到左)

第一位

第二位

第三位

第四位

第五位

第六位

第七位

第八位

对应的8的次方

8^0

8^1

8^2

8^3

8^4

8^5

8^6

8^7

对应结果

1

8

64

512

4096

32768

262144

2097152

十六进制→十进制:a×160+b×161+c×162+d×163+…….+m×16(n-1)

例:将十六进制的(2B)转换为十进制的步骤如下:

1. 第0位 B x 16^0 = 11;

2. 第1位 2 x 16^1 = 32;

3. 读数,把结果值相加,11+32=43(16)

十六进制位数(从右到左)

第一位

第二位

第三位

第四位

对应的16的次方

16^0

16^1

16^2

16^3

对应结果

1

16

256

4096

3、其他进制之间的转换

二进制→八进制:对于整数,采用从右到左每三位一组,不够三位的在其左边补齐0,每组单独转换出来即可。

例如:转换二进制数 1110101010100 那么分组为
001 110 101 010 100 按照转换方法对应转换
  1    6    5    2    4
所以 1110101010100(2) = 16524(8)

八进制→二进制:将每位八进制由三位二进制数代替即可。

二进制与八进制编码对应表:

二进制

八进制

000

0

001

1

010

2

011

3

100

4

101

5

110

6

111

7

二进制→十六进制:此时分组为从右到左每 4 位二进制数为一组进行转换

例如:转换二进制 0101010100101011010,分组:
0010 1010 1001 0101 1010
   2     A      9      5      A
所以0101010100101011010(2) = 2A95A(16)

十六进制→二进制将每位十六进制由四位二进制数代替即可。

二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制,反之亦然。

首先我们来看一个二进制数:1111,它是多少呢?

你可能还要这样计算:1 * 2 + 1 * 2 + 1 * 2 + 1 * 2 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。

然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为2^3 = 8,然后依次是 2^2 = 4,2^1=2, 2^0 = 1。

记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。

仅四位的二进制数

快速计算方法

十进制值

十六进制值

1111

8+4+2+1

15

F

1110

8+4+2+0

14

E

1101

8+4+0+1

13

D

1100

8+4+0+0

12

C

1011

8+0+2+1

11

B

1010

8+0+2+0

10

A

1001

8+0+0+1

9

9

……

0001

0+0+0+1

1

1

0000

0+0+0+0

0

0

数值转换:二进制、八进制、十六进制转换为十进制相关推荐

  1. 十进制转换成十六进制c语言 链栈,C语言 链栈 实现十进制转换二进制,八进制,十六进制...

    C语言 链栈 实现十进制转换二进制,八进制,十六进制 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 最后运行结果:代码:#incl ...

  2. C# 进制转换(二进制、十六进制、十进制互转) .

    C# 进制转换(二进制.十六进制.十进制互转) 由于二进制数在C#中无法直接表示,所以所有二进制数都用一个字符串来表示 例如: 二进制: 1010 表示为 字符串:"1010"  ...

  3. c语言中十进制转化二进制八进制十六进制,进制转换:二进制、八进制、十六进制、十进制之间的转换...

    对于基础薄弱的读者,本节的内容可能略显晦涩和枯燥,如果觉得吃力,可以暂时跳过,用到的时候再来阅读.但是本节所讲的内容是学习编程的基础,是程序员的基本功,即使现在不学,迟早也要回来学. 上节我们对二进制 ...

  4. 将二进制、八进制、十六进制转换为十进制

    上节我们对二进制.八进制和十六进制进行了说明,本节重点讲解不同进制之间的转换,这在编程中经常会用到,尤其是C语言. 将二进制.八进制.十六进制转换为十进制 二进制.八进制和十六进制向十进制转换都非常容 ...

  5. python十六进制转换成八进制_Python 进制转换 二进制 八进制 十进制 十六进制

    全局定义一定不要丢了 全局定义 base = [str(x) for x in range()] + [ chr(x) for x in range(ord('A'),ord('A')+)] 二进制 ...

  6. c语言十进制转换成二进制八进制十六进制,十进制数转换成二进制,八进制,十六进制(c语言)...

    利用一个函数实现十进制数转换成二进制,八进制,十六进制.利用的是栈的后进先出的思想.算法简单. #include #include #include #define STACK_INIT_SIZE 1 ...

  7. 十进制转二进制,八进制,十六进制(PHP)

    <?php #使用:$var=e(数字,进制); function e($v,$l){ if($v>0&&in_array($l,array(2,8,16))){    $ ...

  8. 十进制转二进制 / 八进制 / 十六进制的手算方法,及其数学原理的通俗解释

    前言:接触计算机的同学学习基础课程时,不免会碰到十进制转二进制 / 八进制 / 十六进制这种问题.常见的方法有"除以2/8/16看余数".本文在介绍方法的前提上,对其数学原理进行了 ...

  9. Unicode 码和汉字,十进制之间互转!二进制、十六进制,十进制的转换

    2019独角兽企业重金招聘Python工程师标准>>> Unicode 码和汉字,十进制之间互转!二进制.十六进制,十进制的转换 用法文档这里就不介绍了!直接上代码 package ...

  10. C# 进制转换(二进制、十六进制、十进制互转)

    C# 进制转换(二进制.十六进制.十进制互转) 二进制转十进制数 string i = "0010"; Console.WriteLine(Convert.ToInt32(i,2) ...

最新文章

  1. 图像与视频合成领域的集大成者,都在这里了!
  2. linux mysql 知乎_在 Linux 上安装 MariaDB 或 MySQL | Linux 中国
  3. MySQL · 引擎特性 · InnoDB COUNT(*) 优化(?)
  4. thymeleaf公共页面元素抽取 || 引入片段的时候传入参数
  5. java cpu 内存_如何检查Java中的CPU和内存使用情况?
  6. 前端学习(16):跳转链接小练习
  7. RedHat Linux安装Informix v10.x(图文详解)
  8. ODOO从哪里开始??OpenERP的第一根线头儿
  9. AVIator -- Bypass AV tool
  10. 利用Python网络爬虫抓取微信好友的签名及其可视化展示
  11. 前端性能优化的常用手段
  12. 很好的--张量(Tensor)的技术以及它在不同场景中的应用--转载贪心科技
  13. html5打开页面直接取纬度,html5获取不了经度和纬度
  14. 美的苏宁“超级带货趴”来袭,养成带货达人,大牌净味冰箱带回家
  15. 工作岗位必备技能总结
  16. dbd mysql db_mysqlhotcopy备份时出现“DBD::mysql::db do faile\问题-huifeideluotuo-ChinaUnix博客...
  17. 推动功能性农业发展 国稻种芯-万祥军:农业大健康理念形成
  18. Odoo与浪潮合资研发PS Cloud之如何销售配饰及选购产品(交叉销售)
  19. 大数据第二阶段Python基础编程学习笔记(待完善)
  20. Eformer: Edge Enhancement based Transformer for Medical Image Denoising

热门文章

  1. Airsim动态 | ROS教程(AirSim ROS Tutorial)
  2. 【matlab数字图像处理】数字图像处理中的坐标系
  3. 奇迹1.03H服务端开服架设文件Data文件详解
  4. 极客DIY:廉价电视棒玩转GNSS-SDR,实现GPS实时定位
  5. 安卓ttf格式的字体包_字体 | 新游黑体(游)精巧的日系字体~
  6. 安徽大学836数字电路与逻辑设计考研历年真题库资料
  7. 俞军老师:适合产品经理的10本书 | 2019收藏版
  8. BUCK降压电路和BOOST升压电路
  9. visual studio设置背景颜色为眼睛保护色
  10. python123汉诺塔实践_python汉诺塔问题