程序猿必备的数电知识,快来看看你掌握多少!(建议收藏)

程序猿必备的数电知识,快来看看你掌握多少!(建议收藏)目录????0.前言:????1.常见进制介绍:????(1)十进制:①示例:②可知一个任意多位的十进制数D均可展开为如下形式:③拓展——若以N取代式中的10,即可得到多位任意进制(N进制)数展开式的普遍形式:????(2)二进制:①根据N进制数展开的普遍形式可得任意一个二进制数均可展开为:![在这里插入图片描述](https://img-blog.csdnimg.cn/b7a289fac3d54c6f8ef071849945ca92.png)②并可利用上式计算出任一二进制数所表达的十进制数的大小:???

大家好,又见面了,我是你们的朋友全栈君。

目录

?0.前言:

  1. ??某些大牛曾说过:一个优秀的程序猿, 他不仅软件层面玩的好;而且硬件层面也玩的花。 ??

「华为天才少年」——稚晖君的光辉事迹想必大家有有所耳闻:
  就比如前一段时间网上爆火他的一件神仙之作——耗时仅四个月,开发出的一款完美的自动驾驶自行车!

  需要注意的是:这个作品从构思到实物产出(CAD车体建模,载板PCB设计,手工焊接,总线控制,RPC通信,电机控制,传感器数据,ROS信息分发,SLAM建图,图像分类,PID,卡尔曼滤波数据融合,参数整定…)全都经他一人之手。这是货真价实的全栈工程师,一个人堪比一整个技术团队!!!

  1. ??而且当年他去面试OPPO的时候拿到了两份Super Special的offer:一个是硬件岗、一个是算法岗。 可能有的小伙伴要说——“这是天才,我们常人无法企及!”??

  普通人经过不懈努力——最后变得不普通的例子也不计其数!
  比如最鲜为人知的例子:前乒乓球奥运冠军邓亚萍,从小个子长得慢,胳膊短,为了能提高乒乓球技能加倍苦练,成为乒乓球大满贯得主。

  1. ??“确实,不得不承认人与人之间是有差距的”,但是我想说的是:“我们可能做不到他做的那么好,但是最基本的硬件知识/数电知识我们还是要了解的。”——正所谓:知其然,更要知其所以然!??

  知道的越少,不知道的就越少;知道的越多,不知道的就越多!

  1. ??我会尽量把技术文写的通俗易懂/生动有趣,保证每一个想要学习知识&&认认真真读完本文的读者们能够有所获,有所得。当然,如果你读完感觉本文写的还可以,真正学习到了东西,希望给我个「 赞 」「 收藏 」,这个对我很重要,谢谢了!??
分栏名称 传送门
?爬虫难,跟我一起入爬虫坑,爬虫一条龙服务!? 《入坑Python爬虫》
?Django框架难,跟我一起一条龙教学(附带多个小型项目实战!)? 《Django框架一条龙》
?Scrapy框架难,跟我一起一条龙教学(附带多个小型项目实战!)? 《Scrapy框架一条龙》
?Tornado框架难,跟我一起一条龙教学(附带一个完整项目!)? 《Tornado框架一条龙》
?爬虫——JS渗透;三大验证码(滑块,点触,图形);字体反爬;移动端!? 《爬虫高级一条龙》

?1.常见进制介绍:

?(1)十进制:

 在十进制数中,每一位有0-9十个数码,所以计数的基数是10。超过9的数必须用多位数表示,其中低位和相邻高位之间的关系是:逢十进一,故称为十进制。

①示例:

在这里插入图片描述

②可知一个任意多位的十进制数D均可展开为如下形式:

在这里插入图片描述

③拓展—— 若以N取代式中的10,即可得到多位任意进制(N进制)数展开式的普遍形式:

 式中i的取值与十进制展开式的规定相同。

「变量详解」:
    N称为计数的基数
    k为第i位的系数
    N称为第i位的

在这里插入图片描述

?(2)二进制:

目前在数字电路(我们生活在0和1组成的世界里!)中应用最广泛的是二进制。在二进制数中,每一位仅有0和1两个可能的数码,所以计数基数为2。其中低位和相邻高位之间的进位关系是:“逢二进一”, 故称为二进制。

①根据N进制数展开的普遍形式可得任意一个二进制数均可展开为:在这里插入图片描述

②并可利用上式计算出任一二进制数所表达的十进制数的大小:

在这里插入图片描述

 上式中分别使用下脚注2和10表示括号里的数是二进制数和十进制数。/有时也用B( Bima-ry)和D( Decimal)代替2和10这两个脚注。

?(3)八进制:

八进制数的每一位有0~7 八个不同的数码,在二进制数中,计数的基数为8。其中低位和相邻高位之间的进位关系是:“逢八进一”, 故称为八进制。

①根据N进制数展开的普遍形式可得任意一个八进制数均可展开为:

在这里插入图片描述

②并可利用上式计算出任一八进制数所表达的十进制数的大小:

在这里插入图片描述

有时也用O(Oetal)代替下脚注8,表示八进制数。

?(4)十六进制:

十六进制数的每一位有十六个不同的数码,分别用0~9.A(10)、B(11) .C(12)、D(13)、E(14)、P(15)表示。在十六进制数中,计数的基数为16。其中低位和相邻高位之间的进位关系是:“逢十六进一”, 故称为十六进制。

①根据N进制数展开的普遍形式可得任意一个十六进制数均可展开为:

在这里插入图片描述

②并可利用上式计算出任一十六进制数所表达的十进制数的大小:

在这里插入图片描述

 式中的下脚注16表示括号里的数是十六进制数,有时也用H( Hexadecimal)代替这个脚注,0X表示前缀。

?(5)不同进制数的对照表:

在这里插入图片描述

小拓展:

  1. 一位八进制可以表示三位二进制数:
    解读:
      因为三位二进制最小是000b,最大是111b,其范围恰好在0-7,构成了八进制一位。

  2. 一位十六进制可以表示为四位二进制:
    解读:
      十六进制数的进率是16,二进制数的进率是2,且16=2^4,说明二进制数连续进位4次,等效于16进制数进1位。这么说可能不好理解,那么举个例子吧,比如15+1=16,用二进制表示就是1111+1=10000,用十六进制表示就是F+1=10。这也就说明了一位十六进制数对应四位二进制数了


?2.不同进制间的转换:

?(1)八进制,二进制,十六进制转换为十进制:

  都可根据上述介绍十进制的时候讲解的——多位任意进制数展开式的普遍形式进行转换,即按位权展开式。

?(2)十进制转换为二进制,八进制,十六进制:

  十进制整数转换R进制(R可以是任何整数,比如2,8,16)整数,方法就是除R取余。

①十进制转换为二进制:

  十进制整数转换为二进制方法:除二取余,从下往上倒序排序!

在这里插入图片描述

  十进制小数转换为二进制方法:乘二取整,从上向下顺序排序!

在这里插入图片描述

②十进制转换为十六进制:

  十进制数为整数时,除16取余;
  十进制数为小数时,乘16取整。
    (具体步骤拟同十进制转换为二进制!)

③十进制转换为八进制:

  十进制为整数时,除八取余;
  十进制为小数时,乘八取整。
    (具体步骤拟同十进制转换为二进制!)

?(3)二进制转换为十六进制:

  只要从低位到高位整数部分每4位二进制数分为一组并代之以等值的十六进制数,同时从高位到低位小数部分每4位数分为一组并代之以等值的十六进制数,即可得到对应的十六进制数。

在这里插入图片描述

注意:

若二进制数整数部分最高一组不足4位时,用0补足4位;
小数部分最低一组不足 4位时,也需用0补足4位。

?(4)二进制转换为八进制:

  只要将二进制数的整数部分低位到高位每3位分为一组并代之以等值的八进制数,同时将小数部分高位到低位每3位分为一组并代之以等值的八进制数,即可得到对应的八进制数。

在这里插入图片描述

注意:

二进制数最高一组不足3位或小数部分最低一组不足3位时,仍需以0补足三位!

?(5)十六进制转换为二进制:

  转换时只需将十六进制数的每一位用等值的4位二进制数代替即可!

在这里插入图片描述

?(6)八进制转换为二进制:

  转换时只需将八进制数的每一位用等值的3位二进制数代替即可!

在这里插入图片描述

?(7)八进制与十六进制之间的转换:

  第一种:先转成二进制然后再相互转换;
  第二种:先转成十进制然后再相互转换!

建议:先将八进制转换为对应的二进制,再将二进制转换为十六进制!

Python关于这四大进制表示及转换的实现:

点我点我——看我这篇文章详解哦!

3.In The End!

请添加图片描述

从现在做起,坚持下去,一天进步一小点,不久的将来,你会感谢曾经努力的你!

本博主会持续更新爬虫基础分栏及爬虫实战分栏,认真仔细看完本文的小伙伴们,可以点赞收藏并评论出你们的读后感。并可关注本博主,在今后的日子里阅读更多技术文!

如有错误或者言语不恰当的地方可在评论区指出,谢谢!
如转载此文请联系我征得本人同意,并标注出处及本博主名,谢谢!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146178.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Nacos整合SpringCloud(配置中心、注册中心)[通俗易懂]

    Nacos整合SpringCloud(配置中心、注册中心)[通俗易懂]1.什么是Nacos?Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。2.Nacos配置中心整合2.1启动NacosServer并添加配置1.下载地址:直接下载:NacosServer下载页源码构建:Github项目页面2.启动Linux/Unix/Mac操作系统,执行命令shstartup.sh-ms…

  • Python金融应用编程:衍生品定价和套期保值的随机过程

    Python金融应用编程:衍生品定价和套期保值的随机过程随机过程对定量融资的许多方面都很有用,包括但不限于衍生品定价,风险管理和投资管理。这些应用程序将在本文后面进一步详细讨论。本节介绍了量化融资中使用的一些流行的随机过程及其在Python中的实现。模型参数模型参数类包含以下随机过程使用的所有参数。为了便于理解,这些参数的前缀是它们所用的随机过程的名称。随机过程的校准将涉及寻找与某些历史数据相符的参数值。对于那些感兴趣的校准,将在我博客后面的后…

  • 深入浅出的讲解傅里叶变换(真正的通俗易懂)「建议收藏」

    深入浅出的讲解傅里叶变换(真正的通俗易懂)「建议收藏」我保证这篇文章和你以前看过的所有文章都不同,这是12年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者……  这篇文章的核心思想就是:  要让读者在不看任何数学公式的情况下理解傅里叶分析。  傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对

  • webStrom 激活码【注册码】

    webStrom 激活码【注册码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • istio简介和基础组件原理(服务网格Service Mesh)

    Istio简介Istio:一个连接,管理和保护微服务的开放平台。按照isito文档中给出的定义:Istio提供一种简单的方式来建立已部署的服务的网络,具备负载均衡,服务到服务认证,监控等等功能,而不需要改动任何服务代码。简单的说,有了Istio,你的服务就不再需要任何微服务开发框架(典型如SpringCloud,Dubbo),也不再需要自己手动实现各种复杂的服务…

  • SQL语句的decimal[通俗易懂]

    SQL语句的decimal[通俗易懂]以decimal(18,0)为例:18是定点精度,0是小数位数。decimal(a,b) a指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。 b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从0到a之间的值。默认小数位数是0。、“Decimal为SQLServer、MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部分以及小数…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号