2021-10-12 进制之间的转换
当前计算机系统使用的基本上是二进制(“逢二进一”“借一当二”),而人们常用的进制还有十进制、八进制、十六进制等等。于是我们就需要进行进制之间的转换。
以下就是进制相互转化表
那么问题来了,这个表需要背诵吗?不是吧,看着就头大,背就更不可能了。别急,进制之间的转换可以靠算的,而且有技巧 ,不需要死记硬背。
下面就来一一演示说明吧~
十进制转成二进制 除2取反
举个简单的例子:十进制数11转二进制
除2,将余数放到一边,得数继续除2,重复此操作
(最后余1就直接拿过去余数那里)
反序取即从下往上读(黄色箭头所示)于是十进制数11转成二进制就是1011
二进制转十进制 权值法
将一个二进制数依次从末位开始乘2的n 次幂(n从0开始),再逐一相加。
举个例子:二进制1010转成十进制
要乘本来那位的数字。二进制数1010转成十进制就是10。
十进制转八进制 除八反序取余法
具体操作跟十进制转二进制没什么区别,只是将除2换成了除8
举个例子:十进制123转八进制
八进制转十进制 权值法
具体操作跟二进制转十进制没有什么区别,只是把乘2的n次方改为乘8的n次方。
举个例子:八进制786转十进制
十进制转十六进制 除十六反序取余法
同上
举个例子:十进制数876转十六进制
注意 !!!十六进制中1~9用数字表示,而10~15用A~F表示,不能超过16,否则就是出错了。
十六进制转十进制 权值法
同上
举个例子:
好了,上面就是十进制转n进制的方法以及n进制转回十进制的方法。每次都得手算还是麻烦,说好的技巧呢???
好吧,下面就来介绍以下技巧吧~
首先我们来观察一下这个表
十进制 二进制 八进制 十六进制
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
................
发现没有,十进制2对应二进制10,4对应100,8对应1000,16对应10000。
也就是说2的n次幂,这个n就对应1后面0的个数。
在十进制转成二进制的过程中我们可以把数字进行拆分(拆分成2、4、8、16...,直接分别对应10,100,1000,10000...)
例如:十进制数123可以拆分成64+32+16+8+2+1,直接转成二进制为1000000+100000+10000+1000+10+1=1111010.
反过来,二进制数也可以按照这种对应关系转化为十进制数
例如:10010拆为10000+10=16+2=18
二进制与八进制的转换:
二进制转八进制,将二进制数字3个分为一组(注意分组要从末位开始,即从右往左操作)然后按照上面说的拆分法(也可直接读出)八进制数。
八进制转二进制,按照拆分法操作。注意:不够三位的要在高位补0(也就是最左边)
若想实现八进制和十六进制之间的转换,都需要先转换为二进制,再做进一步的转化,简单来说就是得通过二进制这个中间人。
刚才举的例子全是整数之间的转换,那么问题来了,遇到小数怎么办呢?
好的,我们引入新的操作方案:
十进制小数转换成二进制:小数部分乘2,取整数,不足1的取0,每次相乘的都是小数部分。顺序看取整后转化的结果。
举个例子:
注意!!!这时候就得从上往下读,读作011。
今天就先到这里啦,手写的例子有点丑,凑活着能看懂就行,关于数据的储存方式将会记在下一篇博客中。
2021-10-12 进制之间的转换相关推荐
- 2、4、8、10进制之间的转换
2.4.8.10进制之间的转换 进制之间的转换可以是2.4.8等进制转换为10进制:也可以10进制转为2.4.8等进制,当然还有其它位的(这里不说). 提供一个网站:自动类型转换网站在线进制转换htt ...
- 一篇关于不同进制之间的转换、比如二进制、八进制、十进制、十六进制等
1.其他进制转十进制二进制转十进制计算公式:从最低位开始(右边起),将每个位上的数提取出来,乘于2的(位数-1)次方,然后求和1101 =1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8 ...
- C++控制不同进制输出(二进制,八进制,十进制,十六进制)各种进制之间的转换
目录 1.输出(头文件讲解) 2.格式控制 常用的I/O流控制符 4.各种进制之间的转换(进制大乱斗) 4.1.写在前面 4.2整体框架搭建 4.3菜单函数 4.4用户输入选择(main函数体中) 4 ...
- 一.关于进制之间的转换关系
一.关于进制之间的转换关系 我们所说的百兆,千兆网络单位是bps(比特率,位/秒/bit/s),通常所说的百兆光纤也就是100Mps,而在实际应用中使用的传输单位是字节/秒(byte/s). 8bit ...
- 进制之间的转换和解释
一: 二: 二进制.八进制.十进制与十六进制 本人转载链接:https://blog.csdn.net/liangxw1/article/details/78535545 作者转载:http://yu ...
- 计算机基础--进制之间的转换
前言 在学习计算机时,不可避免是需要了解进制的概念以及它们之间是如何进行转换的. 一. 进制的介绍 1.1 概念介绍 二进制的概念: 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码 ...
- 不同进制之间的转换的各种方法
不同进制之间的转换纯粹是数学上的计算.不过,你不必担心会有么复杂,无非是乘或除的计算. 生活中其实很多地方的计数方法都多少有点不同进制的影子. 比如我们最常用的10进制,其实起源于人有10个指头.如果 ...
- 进制之间的转换(补充版)
这里是进制转换的补充,至于整数部分的讲解,参考小编的上一篇文章https://blog.csdn.net/mez_Blog/article/details/91354750,介绍了整数部分个进制之间的 ...
- 计算机进制之间的转换
存储单位 最小的数据单位是比特(bit),表示以为二进制的0或1,写作'b',是网络数据传输的基本单位. 最小的存储单位是字节byte,写作'B',1B=8b 存储容量: 1KB=1024B => ...
最新文章
- 学python有什么好处 学完可以做什么
- 如何提升 Linux 服务器安全的开源工具和技巧?
- ecshop 属性自动组合_【深度文章】结构设计中的荷载组合剖析(下)
- android 日期相减得天数_Excel日期计算方法大全
- Mysql存储时间字段
- 开学前要多为孩子健康做准备
- 关于21年电赛,这些一定要熟悉!
- java中Date()类型输入数据的处理
- 【Vue】—插槽的基本语法
- 什么样的老板不适合找运营?
- Java中的锁 | JDK6 关于锁的优化
- 黑马程序员 接口 总结
- ai怎么调界面大小_ai软件界面字体特别小 ai菜单栏字体大小怎么改
- 深圳大学《计算机论题》作业:伦理分析的一般框架进行案例分析
- WPF随笔(四)--窗口多屏显示及全屏
- mailgun php版本,php – Mailgun发送带附件的邮件
- 净化自己的内心,扫除内心的尘埃
- MT6261处理器规格介绍,MT6261芯片技术资料集锦
- 阿里云生态峰会实录(上)
- 华为开源数据库openGauss