目录

目录

一、十进制转换其他进制

整数

1.十进制换二进制

2.十进制换八进制

3.十进制转换十六进制

小数

1.十进制转换二进制

2.十进制转换八进制

3.十进制转换十六进制

二、其他进制转换十进制

1.位权

2.位权展开转换

进制转换表​编辑

3.为什么通过位权展开之后,得到的结果就是十进制?

三、二进制、八进制和十六进制之间的转换

1.方法

2.问题

问题一:在二进制转换八进制的时候,二进制的一组会不会在八进制中找不到对应的数据?



四种进制的组成

二进制:Binary,简写为B,由0和1组成。

八进制:Octal,简写为O,由0-7八个数字组成,C语言规定,在八进制数字前加0与其他进制进行区分。

十进制:Decimal,简写为D,由0-9十个数字组成,开头不需要加任何东西。

十六进制:Hexadecimal,简写为H,由0-9和A-F组成,开头加0x或0X以进行区分。

一、十进制转换其他进制

预备知识:进制转换时,小数字除大数字时,商为0,余数为小数字本身

整数

1.十进制换二进制

(1)除二取余,逆序输出

(2)具体方法

将十进制数除2,得到的整数部分用来做下一次的被除数,余数保留,重复以上操作直到整数部分为0结束,将余数逆序输出,如下图:

 2.十进制换八进制

(1)除八取余,逆序输出

(2)具体方法

具体步骤与二进制相同。

以下是将706D转换为八进制的解析:

706除8得88余2,再将88作为第二次的被除数,除8得11余0,11作为下一次的被除数。除八得1余3,最后1除8得0余1。将所有余数逆序输出,即为1302。

3.十进制转换十六进制

(1)除十六取余,逆序输出

(2) 具体方法

方法同上,应当注意的是,当余数为10、11、12、13、14、15时用A、B、C、D、E、F表示。

总结:可以看出十进制向其他进制转换得方法都是一样的, 都是除进制数取余,逆序输出。

小数

小数部分十进制转换其他进制方法都是一样的,不做过多解释。以下时十进制转换二进制、八进制和十六进制得例子及其方法。

1.十进制转换二进制

乘二取整,顺序输出

2.十进制转换八进制

乘八取整,顺序输出

3.十进制转换十六进制

乘十六取整,顺序输出

二、其他进制转换十进制

1.位权

在进行转换之前,先了解一下什么是位权。

介绍:位权是一个数学名词,表示在一进制中每一固定位置对应的单位值。数码所表示的数值等于该数码本身乘以一个与它所在数位有关的常数,这个常数称为“位权”,简称“权”

什么意思呢?我们分开来理解这句话。

第一句:十进制中第二位(十位)的位权是10^1,第三位(百位)上的位权是10^2,整数部分第 i 位的位权为10^(i-1),而小数部分第 j 位的位权为10^-j。

第二句:举个例子,十进制中我们可以用1×(10^2) + 2×(10^1) + 3×(10^0) + 4×(10^-1) + 5×(10^-2)来表示"123.45"。"123.45"中的“1”他表示的数值是100,即1(数码)×10^2(位权)。

推广到其他进制:对于n进制数,整数部分第 i位的位权为N^(i-1),而小数部分第j位的位权为n^-j。(这里是用十进制表示的,看不懂后面有解释)

2.位权展开转换

所以如何把其他进制转换到十进制呢?

我们可以把数字按位权展开,来进行转换

位权展开法:每一位的数符×该位的权值,将所有的乘式相加即可。

进制转换表

3.为什么通过位权展开之后,得到的结果就是十进制?

其实位权展开之后的结果并不一定是十进制,它可以是任意的进制,只不过我们在展开的过程中运用了十进制的运算规则计算的运算,所以结果是十进制的数据。 如下图,在位权展开过程中,把数字的格式改为八进制(把十进制中的8改为八进制中的十),算出的结果就是八进制。在上文的推广中的公式用的是十进制。而用1×(10^2) + 2×(10^1) + 3×(10^0) + 4×(10^-1) + 5×(10^-2)来表示"123.45"的本质是将123进行位权展开,结果保留为十进制,说白了就是十进制换成十进制。

三、二进制、八进制和十六进制之间的转换

利用位权展开,可以在任意两个进制之间进行相互转换。但是这种方法显然是很复杂的,特别是对于一些较大的数,很容易出现计算错误,那么有没有一种简单的方法实现转换呢?

1.方法

首先,我们先思考一下,在十进制中 1 是如何变成 10 的?显然我们只需要乘以10的一次方,就可以让以前的数据向左移动一位。同理在二进制当中,如果想让数据向左移动三位,由 1 变为 1000 ,则需要在 1 的基础上乘以 2^3,在八进制中想要数据向左移动1位,由 1 变为10,则需要在 1 的基础上乘以8^1。不难发现,二进制向左移动3位和八进制想做移动3位,需要乘以相同大小的数(8),也就是说二进制中的每三个数对应着八进制中的一个数字,所以我们只要将二进制数每三个数字分为一组,对应写出八进制的数字,就可以实现数据之间的转换。根据以上分析,因为2^4=16^1,那么我们可以推断出,二进制和十六进制也可以使用以上的方法进行转换,只不过要把二进制每四个分为一组,然后对应出十六进制的数。

而由八进制和十六进制换到二进制的过程则是反过来,把每一个八进制(十六进制)数字,写出对应的二进制即可。

八进制和十六进制之间的转换一般是通过二进制或者十进制为枢纽进行转换的,先把八进制换成二进制/十进制,再换到十六进制。

2.问题

问题一:在二进制转换八进制的时候,二进制的一组会不会在八进制中找不到对应的数据?

每三个二进制数必然会对应一个八进制数,因为在二进制中最大的三位数是 111 B,对应着八进制中最大的一位数 7 O,111B再加1就会变成 1,000B ,那么此时对应的八进制也会进位变成10O。同理,二进制与十六进制的转换也一样。

二、八、十、十六进制转换及其原理相关推荐

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

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

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

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

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

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

  4. C语言十六进制转换成十进制(代码),可将数组内的十六进制数转换后并存入数组

    十六进制转换十进制原理介绍 十六进制转换为十进制,是先要将十六进制转换为二进制,在通过二进制转换为十进制. 十六进制转换为二进制很简单,我们首先要明白,一位十六进制代表四位二进制,如F对应二进制的11 ...

  5. 简单的二、八、十、十六进制转换

    各进制的概念 二进制 二进制(binary)是在数学和数字电路中指以2为基数的记数系统,是以2为基数代表系统的二进位制. 八进制 八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1 ...

  6. 二、八、十、十六进制转换(图解篇)

    各种进制的用途 10进制,当然是便于我们人类来使用,我们从小的习惯就是使用十进制,这个毋庸置疑. 2进制,是供计算机使用的,1,0代表开和关,有和无,机器只认识2进制. 16进制,内存地址空间是用16 ...

  7. 二进制转换八进制图解_二、八、十、十六进制转换(图解篇)

    一.本文所涉及的内容(Contents) 二.背景(Contexts) 之前使用SQL把十进制的整数转换为三十六进制,SQL代码请参考:SQL Server 进制转换函数,其实它是基于二.八.十.十六 ...

  8. 基于C语言、线性表的 二、八、十、十六进制转换 及 加运算、左右移位运算、乘法运算 的科学计算器设计

    源代码见资源:https://download.csdn.net/download/weixin_44410704/19840894 一.需求分析 1.1 设计题目 题目:科学计算器 用C语言实现十进 ...

  9. 二、八、十、十六进制转换技巧

    文章目录 二进制转换 二进制转换八进制,计算方法 二进制转换十进制,计算方法 二进制转换十六进制,计算方法 八进制转换 八进制转换二进制,计算方法 八进制转换十进制,计算方法 八进制转换十六进制,计算 ...

最新文章

  1. 一文看懂最近70年的人工智能简史!中国已经领先全球!
  2. 没错,接单就是特简单!
  3. 【开发环境】为 Visual Studio Community 2013 版本安装中文语言包 ( 安装 Test Agents 2013 | 安装 Visual Studio 2013 简体中文 )
  4. 高并发资金交易系统设计方案—百亿双十一、微信红包背后的技术架构
  5. latex 新定义环境 引用_炉石传说:完全虐杀式上分!新版本第二天动物园迅速定义环境!...
  6. 如何查看服务器当前的负载信息
  7. [css] 举例说明:not()的使用场景有哪些
  8. 工作191:loading不声明
  9. 香蜜台词共赴鸿蒙,香蜜台词斗法
  10. android修改自动背光,Android LCD和键盘 背光亮度设置
  11. android 文件加密源码
  12. Android客户端和服务器端数据交互的第四种方法
  13. html未找到音频文件夹,【已解决】html5中MediaRecorder的dataavailable没有执行获取不到录音数据...
  14. 【图像处理】基于matlab GUI图像形态学处理【含Matlab源码 1287期】
  15. 威纶通定时循环操作宏_相同功能带定时器的PLC程序怎么简化?
  16. 日本JAFFE表情库
  17. 数据库基础学习-计划内容 For 小样儿
  18. 利用电子邮件“钓鱼”的常见手段
  19. 小米6MIUI稳定版安装谷歌相机
  20. 科普扫盲---ssh免密登陆(ssh的一些小秘密)

热门文章

  1. 音频工具(pyqt)
  2. idear 打jar包报错:jar中没有主清单属性 的一种解决办法
  3. MATLAB 二值图像中的白色变为彩色
  4. Linux系统那些硬核的黑科技技术
  5. Linux Crontab 定时任务
  6. 构建需求响应式亿级商品详情页
  7. 基于 BERT 实现的情感分析(文本分类)----概念与应用
  8. 电商平台-系统架构与技术选型
  9. 006 MySQL 监控
  10. python中用py2exe打包可执行文件的参数设置