进制之间的转换

简介: 说明:进制之间的转换有多种,我只列出自己常使用的方法。十进制:十进制是以 0-9 这九个数字组成的,也是我们日常生活中最常见的数字二进制:二进制是 0 和 1 这两个数字组成的,一般常用于计算机中表示八进制:八进制是 0-7 这八个数字组成的,为了区分,一般开头以 0 开头十六进制:十六进制由 0-9 和A-F 组成,从 A-F 为 10-15,为了区别,开头以 0x 开头

二、八、十六进制转十进制

整数转换:

 

整数部分,从右往左数,按权相加,权即为位权。

即最右边的数为0,往左以此为123.... 。或者从右往左数,第1位的位权为1-1

2 位的位权为 2-1.

 

第一种方法


二进制转十进制


 

例:1001 1001=1*2º+0*2¹+0*2²+1*2³

=1+0+0+8


=9

 

该处是从右往左数的

image.png


 

 八进制转十进制:

与二进制权位相同,只不过由于进制问题,2的几次方要换成 8的几次方


例:64 64=4*8º+6*8¹

=4+48

=52

image.png

 


526:

image.png


例:C874 C=12

C874=4*16º+7*16¹+8*16²+12*16³

=4+112+2048+49152

=51316

image.png

 

第二种方法

 

这种方法其实就是先把数转为二进制,再由二进制转为十进制。

二进制转十进制:

 

例:1111

image.png

按照幂次方进行换算

那按照该图所示,二进制中的1111 对应的分别为 8 4 2 1

image.png

 

所以 1111转为十进制的结果等于 15

 


 八进制转十进制

先把八进制转为二进制,再由二进制转为十进制例如:13

一个八进制数=3个二进制数,首先把 13转为二进制数

1001

3011

13 转为二进制数为 001011,再把该二进制数转为十进制数为:11

所以八进制数13转为十进制数为 11

image.png




十六进制转十进制:

例如:A4 A=10

一个十六进制数=4 个二进制数,首先把A 4 转为二进制数

A1010 40100

A4 转为二进制数为 10100100,再把该二进制数转为十进制数为:164

所以十六进制数A4 转为十进制数为 164

image.png

 

 

带小数转换

 

整数部分依然按上述正常操作,点小数部分要从左往右数,指数为-1开始,以此为-2,-3...


二进制转十进制:

例:1010.1011 1010.1011

=0*2º+1*2¹+0*2²+1*2³+1*-1+0*2-2 +1*2-3 +1*2-4

=2+8+0.5+0.125+0.0625

=10.6875


image.png


 

例:56.14 56.14

=5*8¹+6*8º+1*8-1+4*8-2

=40+6+0.125+0.0625

=46.1875

image.png

 

 

 

 

十六进制转十进制: 

例:A4.13 A4.13

=10*16¹+4*16º+1*16-1+3*16-2

=160+4+0.0625+0.01171875

=164.07421875

image.png

 

 

 

 

 


十进制转二、八、十六进制

 

Ø  我自己将十进制转换其他进制时,都是先把该数转为二进制,再由二进制转为其他进制

 

Ø  具体转为方法参考此图:

 image.png

整数转换:


十进制转二进制:例:123

123=64+32+16+8+3

=01111011

 

 

十进制转八进制:例:123

先把123 转为二进制位 01111011,由三个二进制数等于 1个八进制数得出从右往左数,

不足三位的前面补齐3

 

001 111 011=1 7 3

所以十进制转为八进制为173

 

 

十进制转十六进制:例:123

先把123 转为二进制位 01111011,由四个二进制数等于 1 个十六进制数得出从右往左

数,不足三位的前面补齐4

 

00000111 1011=0 7 11=7b

所以十进制转为十六进制为 7b

 

小数转换:

 

 

 

十进制小数的转换成N 进制小数转为公式为:


  •   N 乘以十进制的小数部分,得到一个积
  •   把积的整数部分取出,再用N 乘以该积的小数部分,得到新的积后
  •   再将新的积整数部分取出,继续用N 乘以新积的小数部分
  •   以此类推...反复进行

该图演示了123.11小数部分转为二进制小数部分的部分步骤,不完全。没有完全做完。

image.png


 

相关文章
|
SQL 流计算
对于Flink CDC,当源表的数据被删除后,可以通过以下方法在结果表中同步删除
对于Flink CDC,当源表的数据被删除后,可以通过以下方法在结果表中同步删除
1555 1
|
Shell 网络架构
《cowboy 源代码分析第一部 (Erlang实现的http服务器)》
cowboy是基于ranch的http服务器。特点是功能强打(支持完整的http协议websocket,spdy等),简洁,轻量级。
《cowboy 源代码分析第一部 (Erlang实现的http服务器)》
|
机器学习/深度学习 数据采集 算法
机器学习实战:基于sklearn的工业蒸汽量预测
机器学习实战:基于sklearn的工业蒸汽量预测
591 0
|
Ubuntu 编译器 芯片
FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
|
机器学习/深度学习 人工智能 视频直播
AI直播手机APP震撼发布!3大场景直播,60秒一键开播!
🎉 青否数字人AI直播APP发布!🚀 在抖音等平台60秒一键开播,简化直播流程。💡 3种AI直播模式,融合6大AIGC技术,助力新手轻松直播带货且避免违规。💪 AI主播、声音克隆,实时话术改写,智能互动与讲品同步,提升转化。📊 实景与视频直播结合,适应多种场景。🌐 独立部署,自定义版权,1年免费升级,专业售后支持。🚀 (直播: zhibo175) #青否数字人 #AI直播
AI直播手机APP震撼发布!3大场景直播,60秒一键开播!
|
自然语言处理 前端开发 JavaScript
推荐 10 个前端开发会用到的工具网站
本文介绍了多个前端开发工具,包括 Web Design Museum、Landing Page、Google Fonts、Lorem Ipsum、Animista、Blobmaker、Spline、CodeToGo、UnusedCSS 和 Responsively,帮助开发者提高效率和项目质量。这些工具涵盖了设计、动画、代码片段管理、响应式测试等多个方面。
667 0
推荐 10 个前端开发会用到的工具网站
|
安全 网络协议 数据安全/隐私保护
Windows Server 2019 搭建并加入域
Windows Server 2019 搭建并加入域
573 0
|
安全 Linux 网络安全
MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位(一)
MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位
1148 0
MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位(一)
|
监控 前端开发 Go
面向全栈可观测的性能监控
SLS性能持续分析基于开放的接入生态与持续性能分析的理念所构建(开放接入部分已在iLogtail开源),基于SLS 性能持续分析,将为广大开发者提供开箱即用、一站式的的性能观测体验,助力开发者轻松面对多云、多Region、多版本、微服务等场景下的性能分析需求。
53397 8
|
SQL Java 数据库连接
使用 MyBatis 的映射文件调用 mapper 接口时有哪些要求?
使用 MyBatis 的映射文件调用 mapper 接口时有哪些要求?
234 0