(一)数制

      计算机采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径,节省设备等优点,为了便于描述,又常用八.十六进制作为二进制的缩写。特点:

(1)逢n进一,n是每种进位进数制表示一位数所需要的符号数目为基数。

二进制:逢二进一,借一当二

八进制:逢八进一,借一当八

十六进制:逢十六进一,借一当十六

(二)数制转换

      不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别一定相等的原则进行的。

十进制:有十个基数: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>十进制——二进制

      十进制数除以2,除至0时所得余数按反方向写出,即为二进制数

例:36除以2得出商依次为         18 9 4 2 1

所得余数依次为                0 0 1 0 0 1

将余数从右向左写为          1 0 0 1 0 0

所得出的100100为二进制数

  <2>二进制——十进制

       计算公式:a*2^0+b*2^1+c*2^2+......+m*2^(n-1)=

以上公式中,a表示二进制数的右边第一位数,b表示二进制数的右边第二位数,c表示二进制数的右边第三位数......m表示二进制的右边第(n-1)位数。

例:1011011(2)=89

1*2^0+0*2^1+0*2^2+1*2^3+1*2^4+0*2^5+1*2^6

=1+8+16+64

=89

(四)十进制与八进制的转换

       <1>十进制——八进制

       十进制数逐次整除8,直至商为0,所得余数按照相反的顺序写出,即为八进制。

例:49除以8得出余数为         1 6

余数从右向左写为            61

49=61(8)

<2>八进制——十进制

      计算公式:a*8^0+b*8^1+c*8^2+......+m*8^(n-1)=

以上公式中,a表示八进制数的右边第一位数,b表示八进制数的右边第二位数,c表示八进制数的右边第三位数......m表示八进制的右边第(n-1)位数。

例:2137(8)=1119

7*8^0+3*8^1+1*8^2+2*8^3

=7+24+64+1024

=1119

(五)十进制与十六进制的转换

       <1>十进制——十六进制

       十进制数逐次整除16,直至商为0,所得余数按照相反的顺序写出,即为十六进制。

例:75除以16得出的余数为      11(B) 4

余数从右向左写为              4B

<2>十六进制——十进制

      计算公式:a*16^0+b*16^1+c*16^2+......+m*16^(n-1)=

以上公式中,a表示十六进制数的右边第一位数,b表示十六进制数的右边第二位数,c表示十六进制数的右边第三位数......m表示十六进制的右边第(n-1)位数。

例:1BC2(16)=7106

2*16^0+12*16^1+11*16^2+1*16^3

=2+192+2816+4096

=7106

(六)二进制与八进制,十六进制的转换

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

例:(001 101 111 011)

1    5     7     3

1101111011(2)=1573(8)

八进制转换为二进制:将每位八进制由三位二进制数代替,即可完成转换。

例:(  1    7     3    5  )

001 111 011 101

1735(8)=1111011101(2)

注:001(2)=1(8)   010(2)=2(8)  011(2)=3(8)  100(2)=4(8)  101(2)=5(8)  110(2)=6(8)  111(2)=7(8)

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

例:(1001 0111 0111 1001)

9       7      7       9

100101110111101(2)=9779(16)

十六进制转换为二进制:将每位十六进制由四位二进制数代替,即可完成转换。

例:( 8       7      6      5)

1000 0111 0110 0101

8765(16)=1000011101100101(2)

注:0001(2)=1(16)  0010(2)=2(16) 0011(2)=3(16)  0100(2)=4(16)  0101(2)=5(16)

0110(2)=6(16)  0111(2)=7(16)  1000(2)=8(16)  1001(2)=9(16) 1010(2)=A(16)

1011(2)=B(16)  1100(2)=C(16)  1101(2)=D(16) 1110(2)=E(16)  1111(2)=F(16)

转载于:https://www.cnblogs.com/shi2172843/p/5594577.html

十进制与二进制,八进制,十六进制的转换相关推荐

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

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

  2. 在BASH下简单实现十进制到二进制和十六进制的转换

    #!/bin/bash #scriptname:conver #在BASH下简单实现十进制到二进制和十六进制的转换 cat<<info 1] 10=>2 2] 10=>16 i ...

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

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

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

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

  5. 十进制转二进制/八进制/十六进制

    二进制转十进制 求(10000000 00001011 00000011 00011111)B的十进制数 如下图(分子是二进制数,分目是0-7的取值范围): 首先,我们有一个十进制的数字**(21)D ...

  6. 十进制与二进制八进制十六进制的相互转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace Conso ...

  7. C语言 十进制转 二进制 八进制 十六进制

    整体源码: #include<stdlib.h> #include<stdio.h> # define STACK_INIT_SIZE 100 # define STACKIN ...

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

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

  9. Java算法学习:java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制)

    java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制) 这几天在复习C语言的数据结构栈和队列那一章的时候,看到利用栈的特性FILO实现的进制转换十分简洁 想起了java中实现栈的操作十分 ...

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

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

最新文章

  1. python编程语言是什么-python是什么编程语言
  2. 网络爬虫初步:从访问网页到数据解析
  3. shell语法 06-Linux文本处理-grep
  4. 解决“Failure to find com.oracle:ojdbc6:jar”,手动安装ojdbc的jar包到maven私仓
  5. 关于 Unity 版本升级后可能会引起偶发光照图错乱的问题
  6. GL 与 CV 管线 (pipeline) 比较与相互转换
  7. (1)DBA查询:数据库
  8. Idea中maven项目中导入本地jar包
  9. LeetCode(257)——二叉树的所有路径(JavaScript)
  10. HDU4510 小Q系列故事——为什么时光不能倒流【时间计算】
  11. 基于Docker的Mysql主从复制
  12. Scrapy 发起post请求
  13. linux系统可以装sas吗,在SAS硬盘上Linux安装注意的事情。
  14. python 自动办公ppt_python自动化办公操作PPT的实现
  15. vue3中套用echarts官网例子
  16. 基于Python的仓库库存管理系统的设计和实现
  17. LINUX 安装护眼软件
  18. 面试官:我们来聊一聊Redis吧,你了解多少就答多少
  19. Win10系统内置杀毒软件Windows Defender卸载方法
  20. 京东客服岗位人才考试

热门文章

  1. sequelize怎么看插入的数据成功不成功_MySQL的4种事务隔离级别你还不清楚吗?
  2. mysql和oracle数据库兼容性_oracle数据库兼容mysql的差异写法
  3. 人工智能可控核聚变量子计算机,中国终于实现了可控核聚变
  4. so库调用java函数_linux下so动态库调用主程序函数
  5. mysql循环遍历获取_MySQL 全表遍历
  6. MobaXterm中修改服务器ip,如何使用mobaxterm登录云服务器
  7. groovy 和 java的区别_Groovy和JAVA的区别
  8. Java案例:Swing摇奖器
  9. 二进制数表示形式:原码、反码与补码
  10. Python数据分析学习笔记05:用户画像