【一起来学C语言】常用进制的转换与应用(上)
来源:互联网 发布:知之者不如好之者的知 编辑:程序博客网 时间:2024/06/05 09:29
【前言】
一提数制,我脑海里就浮现出学二进制时的“0”“1”,除了二进制,我们生活中常用的十进制,我们还了解过八进制和十六进制,那么你还记得它们几个之间如何转换么?本篇博客简介二进制、八进制、十进制、十六进制的相互转换和简单应用。希望能对读者有所帮助。
【常用进制】
计算机中我们常用的进制有四种,分别是二进制、八进制、十进制和十六进制。二进制只有 “0”“1”两种编码符号,逢二进一。
八进制只有 0-7八种编码符号,逢八进一,第一位是0作为八进制的一个标志。
十进制有0-9 十种编码符号,逢十进一。
十六进制有0-9 A-F 十六种编码符号,逢十六进一,前两位0X作为十六进制的一个标志。
【进制转换】
(1)十进制转二进制 : 除二,取余,倒排, 除到商为零的时候(25)10=(11001)2
(2) 二进制转十进制:按位乘权相加
举个例子:
(11001)2= (25)10
(3)二进制转八进制:三位二进制压缩成一位八进制
对比十进制位数,我们发现二进制码位太长了。我们需要一种码位较少,计算较快的进制来表示。八进制出场。
转换方法口诀是:三位二进制压缩成一位八进制,三位三位的分解二进制,如果位数不够,就在最高位前加0补位,(最高位补0不会影响数值的大小)。
二进制转八进制表
举个例子:
(11001)2=(31)8
过程:
11001,因为需要三位三位的分解二进制,11001是五位,所以需要最高位补一位0,变为011001。
011001 :对照上面的转换表,011 是对应八进制的 3, 001 对应 1,所以转为八进制为(31)8 。
(4)八进制转二进制 一位八进制展成三位二进制,最高位的0可省略
八进制转二进制表
举个例子:
(363)8= (011110011)2
对照上面的转换表,八进制的3转换为二进制的011.6转化为110,3转化为011,最后二进制为011110011,最高位的0不影响数值大小,可以省略不写。
(5)二进制转十六进制: 四位二进制压成一位 十六进制,不够四位就在最前面补位。H代表十六进制
当八进制还是速度不够快和位数还是微长的时候,我们又需要更快的数制了——十六进制。
举个例子:
对照上面的转换表 00101111 --- 2F 11111111 ——FF
(6)十六进制转二进制:一位十六进制展成四位二进制,最高位的0可以省略
举个例子:
(7aB1)16 =(?)2
对照上面的转换表
十六进制的7转化为二进制为0111,a转换为1010,B转化为1011,1转化为0001,所以最后的二进制为0111101010110001。
(7)其它
如果十进制想转十六进制,可以先把十进制转为二进制,再转十六进制。
【小结】
本篇博客简介四种常见数制的转换,希望对你有所帮助,下篇博客会简介数制的应用,敬请期待。阅读全文
0 0
- 【一起来学C语言】常用进制的转换与应用(上)
- 【一起来学C语言】常用进制的转换与应用(下)
- 【一起来学C语言】数组(一)
- 【一起来学C语言】数组(二)
- 【一起来学C语言】函数(一)
- 【一起来学C语言】函数(二)
- 【一起来学C语言】C语言的组成:表达式
- 【一起来学C语言】C语言的组成:顺序结构
- 【一起来学C语言】C语言的组成:选择结构
- 【一起来学C语言】C语言的组成:循环结构
- 【一起来学C语言】文件函数
- C语言数据结构之栈与队列的应用(1)进制转换
- 一起来学OpenMP(2)——常用的库函数
- 一起来学OpenMP(2)——常用的库函数
- 【一起来学C语言】C语言的组成:数据和数据类型
- 小朋友学C语言(23):二进制与十进制之间的转换
- c语言:顺序栈的应用-进制转换
- 数据结构 栈的应用任意进制转换(c语言实现)
- freemarker模板语法
- next()和nextLine()区别
- Android 自定义View (验证码)
- CodeForces
- 字符串数组元素计数,按顺序输出
- 【一起来学C语言】常用进制的转换与应用(上)
- 数据库简单学习总结;
- 【学术篇】SPOJ-DISQUERY
- Go中使用for..range语句时需要注意的地方
- 实验六 利用三层交换机实现VLAN间路由
- EventBus使用详解(二)——EventBus使用进阶
- 数据挖掘/数据算法助理实习面试
- 【NOIP2015】运输计划
- js适配rem根字体大小