精华内容
下载资源
问答
  • 文章目录1.计算机为什么采用二进制?...因为二进制是在电路中最好控制的,只有1和0两种状态.代表接通和关闭电路的状态 2.为什么引入字节? 1字节(byte,字节)= 8 bit 字节(Byte /bait/ n. [C])是计...

    1.计算机为什么采用二进制?

    最初的时候,计算机是由二极管发展而来的。每个二极管能表达二种信号,就是接通电路或关闭电路两种状态(1 & 0)如果有2个二极管,就可以根据顺序,表达出4种状态(00 & 01 & 10 & 11), 那么如果有N个二极管,那就可以表达出二的N次方(2ⁿ)个状态。根据这种理论,就可以保存的信息就很多。最终需要做的就是,00代表啥,01代表啥,11代表啥,定义好之后,所有的组合到一起,就成了语句或十进制数字了。

    2.比特位(bit)与字节(Byte)的关系?

    1.比特位(bit)的引入?

    上面讲到二进制的引入,为了表达每一个二极管(比特位)的信息,把这个最小的信息单元叫比特位。每个比特位存放0或1。

    2.字节(Byte)的引入?

    1字节(byte,字节)= 8 bit

    • 字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示。
    • 字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)。
    • 八位二进制数最小为00000000,最大为11111111;
    • 通常1个字节可以存入一个ASCII码(128个字符),2个字节可以存放一个汉字国标码。

    字节 --百度百科

    个人理解是:

    • 如果一篇英文文章没有把单词、标点、段落等分开,会非常不便于阅读,例如helloworldmynameisalien,这个你根本不知道啥意思,但是hello world, my name is alien ,你就知道啥意思了。
    • 所以,计算机为了阅读二进制数,把一个字节(8位二进制)区分开来,当做一个单词或者字,然后再去阅读。
      10010110 00001111 10100000 类似这样的,计算机看做为3个字

    3.为什么一个字节是8位二进制,而不是其他数目?

    可以看一下ASCII的定义,应为早期的ASCII为了表达出所有需要表达的字母和一些特殊符号,发现8位二进制就能基本表达所有英文字母、特殊符号了。详情可参考如下链接,这样我们就可以把8位二进制当做一个字节,去代表一个计算机能识别的最小语言单位。

    ASCII码–百度百科

    3.二进制与八进制、十进制、十六进制之间的转换?

    1.八进制、十六进制的定义?

    八进制

    • 八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。
    • 八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。

    十六进制

    • 十六进制(英文名称:Hexadecimal),同我们日常生活中的表示法不一样,它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9,A-F对应10-15。
    • 十六进制的数和二进制数可以按位对应(十六进制一位对应二进制四位)
    • 内存中保存数据以及内存地址,都是十六进制

    2.二进制与八进制之间的转换?

    在这里插入图片描述

    3.二进制与十六进制之间的转换?

    在这里插入图片描述

    4.二进制与十进制之间的转换?

    十进制转化二进制的方法(除2倒序取余法):

    用十进制数除以2,分别取余数和商数,商数为0的时候,将余数倒着数就是转化后的结果。

    在这里插入图片描述

    十进制的小数转换成二进制(小数乘二正序取整法):

    小数部分和2相乘,取整数,不足1取0,每次相乘都是小数部分,顺序看取整后的数就是转化后的结果。

    在这里插入图片描述

    如上这种方法保存小数,容易产生数据精度失真的情况。原始数据可能一摸一样,但最终保存到计算机中,内容是一样的。后面会提到单精度和双精度小数的问题。

    在这里插入图片描述

    通过如上的转换,我们发现无论计算机需要存储多少位二进制,例如10101010001110101101,我们都不用担心不方便阅读的问题,因为我们可以根据不同的进制去读取,虽然存储都是以二进制形式存储的。所以,最终计算机会根据实际的应用场景,会使用十六进制、八进制的格式去存储信息。

    5.二进制、八进制、十进制、十六进制对照表

    十进制 二进制 八进制 十六进制
    0 0 0 0
    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

    4.内存中为什么使用十六进制?

    • 前面提到,我们把八个比特位当做一个字节,字节又是计算机存储信息的最小单位。如果想充分利用比特位的信息,每个比特位都完全利用上,就能充分利用每个比特位上的存储空间。(重要, 重要,重要!!!!)

    • ASCII码–百度百科 里面,总共存储了128个字符,占用的是一个字节。但其实,一个字节可以有2的8次方(2^8=256)可能,也就是说,ASCII其实还是可以拓展信息的,有一半空间没有充分利用。

    • 十六进制(0–9, A、B、C、D、E、F)共计十六个数,可以理解为(2^4)个信息。

    • 而一个字节是(2^8)个信息, 那么一个字节正好可以保存2个十六进制数据,且完全利用上所有比特位。

    十进制(0–9)共计10个数,需要使用4个比特位才能存储下来,但4个比特位其实可以以存储16个数据信息的,只存储了10个数据,则存储空间就浪费了很多,而且检索数据的时候,空的地址符还需要再去检索,也是浪费时间。
    同理,八进制(2^3)占用3个比特位,一个字节8个比特位,只能保存2个八进制,且有2个比特位没使用,这样也没有充分利用空间。

    在这里插入图片描述

    内存中,一个字节的十六进制数据可以对应二进制是4个字节,所以内存中,存储数据的空间利用率非常高效。

    参考文档:
    https://jingyan.baidu.com/article/495ba84109665338b30ede98.html
    https://www.jianshu.com/p/919a9019e6ac

    展开全文
  • 定义二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。数字电子电路中,逻辑门的实现直接应用了二进制,因此...
    近期和同事沟通时发现很多小伙伴多进制的转换不太清晰,所以趁着周末自己总结了一下和大家分享想,下面先了解下定义。定义
    • 二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 。数字电子电路中,逻辑门的实现直接应用了二进制,因此现代的计算机和依赖计算机的设备里都用到二进制。每个数字称为一个比特(Bit,Binary digit的缩写)
    • 十进制(decimalism)数是组成以10为基础的数字系统,有0,1,2,3, 4, 5, 6, 7, 8, 9十个基本数字组成。十进制,英文名称为Decimal System,来源于希腊文Decem,意为十。十进制计数是由印度教教徒在1500年前发明的,由阿拉伯人传承至11世纪。
    • 十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字。
    相互转换小技巧

    6ac473bf15a8f1b4ad0e2c7cc2dc1518.png

    fe69a6f74ad67ea59478b0434899864e.png

    • 十进制转十六进制一般不会直接转换,比较复杂,PLC定时器和计数器采用十进制编号

    • 十六进制存在的价值是为了表示比较大的数值,不易出错

    • 八进制一般用来表示PLC输入输出点的编号,如:I/Q/M/V/S/L/SM

    *****************************************

    内容参考:网络

    本期编辑:Johnxing

    版权声明:设备维修服务号尊重版权并感谢每一位作者的辛苦付出与创作;除无法溯源的文章,我们均在文末备注了来源;如文章视频、图片、文字涉及版权问题,请第一时间联系我们,我们将立即删除内容!

    展开全文
  • 二进制是计算机唯一使用的进制,因为计算机的根本是电路电路只能表示两种情况,一种情况为没有电,可以表示数字0,一种情况为有电,可以表示数字1,再无第三种情况。 计算机中使用的都是二进制,八进制和十六进制...

    转自:https://blog.csdn.net/ruidianbaihuo/article/details/87797979

    概念:

    二进制是计算机唯一使用的进制,因为计算机的根本是电路,电路只能表示两种情况,一种情况为没有电,可以表示数字0,一种情况为有电,可以表示数字1,再无第三种情况。

    计算机中使用的都是二进制,八进制和十六进制的出现其实都不是计算机的需要,它们的出现完全是出于表达和识别的方便性考虑的。一个较大的数用二进制表示就太长了,比如一个int类型的100(4个字节,总共32位),用二进制表示就是0000 0000 0000 0000 0000 0000 0110 0100,这还是一个比较小的数,如果更大,将会更复杂,写这么长,确实有些不便,于是,就出现了更简易的八进制,十进制,十六进制,数制越大,表示一个数所需的数码位数就越少,所以C和C++代码中不能直接输入二进制,但是允许输入八进制、十进制、十六进制。
    那为什么没有出现什么七进制,九进制呢?因为8,16分别是2的3次方、4次方。使得这3种进制之间转换起来很方便。
    八进制、十六进制即缩短了数的表示位数,同时保持了二进制数的表达特点。

    表达方式:二进制:(010100101)B       八进制:(12565)O或者是(12565)Q           十进制:(2356)D          十六进制:(56BBA)H        
    计算方式:

    其他进制转成十进制: 

    (2356)D        6 * 10^0+5 * 10^1+3 * 10^2+2 * 10^3=2356

    (110)B          0 * 2^0+1 * 2^1+1 * 2^2=6

    (2356)O      6 * 8^0+5 * 8^1+3 * 8^2+2 * 8^3=1262

    十进制转成其他进制:

    十进制转为二进制:(已48为例)

    计算过程 结果 余数
    48/2 24 0
    24/2 12 0
    12/2 6 0
    6/2 3 0
    3/2 1 1

    用48除以进制基数2,直到结果为1(为什么说直到结果为1,因为不管任何数,按照上面的演算方式不断除以2,最后的结果一定是1),然后将结果的1放在最前面,后面依次写上每一步的余数,注意,这里每一步的余数是倒序(也就是从下往上排列),也就是说排在结果1后面的余数是计算过程3/2的余数,然后是计算过程6/2的的余数…所以最后得出十进制数48的二进制表示是110000。如果是byte类型,需要在前面补0,直至8位:0011 0000,如果是int类型就是:0000 0000 0000 0000 0000 0000 0011 0000。

    十进制转为八进制:

    十进制360转换为八进制表示:

    计算过程 结果 余数
    360/8 45 0
    45/8 5 5

    结果5比进制基数8小,所以结果就是550。

    十进制转换为十六进制:
    十进制101转换位十六进制的表示:

    计算过程 结果 余数
    101/16 6 5

    结果为:65。

    二、八、十六进制间的相互转换
    二进制转换为八进制:

    这里转换的时候是有技巧的,之前说过了,为什么是八进制、十六进制,而不是七进制,九进制,因为8=23,16=24。
    所以二进制转换成八进制的时候,只需要将二进制的表示从右往左开始,每三位二进制数为1组 ,分到最后如果不足3位,那么剩下多少位就是多少位,再用每组的二进制的每一位数从右往左依次乘以2^02^12^2,然后相加,得出一组的结果,最后将所有组的结果相连,得出最终的结果(这里注意了,二进制转换为八进制的时候是分组了,并且最后是将每组的结果相连,而不是相加)。
    这里,我具体举个例子:
    二进制(0011 0101)B转换为八进制表示是什么结果:
    首先,将二进制从右至左进行分组:
    分别是 第一组:101 第二组:011 第三组:00。实际上,第三组没意义了,因为都是0,我们来关注前两组
    第一组计算过程是:1 * 2^0+0 * 2^1+1 * 2^2=5;
    第二组计算过程是:0 * 2^0+1 * 2^1+1 * 2^2=6;
    所以最后的结果是65。也就是用6和5直接相连,而不是相加,这里还要注意一下相连的顺序问题,是6–5的方向。

    二进制转换为十六进制
    二进制转换为十六进制就是将二进制每四位二进制为一组,其他与八进制转换为二进制一样。


    八进制转换为二进制
    只需要将八进制的每一个数用三位二进制表示,然后相连既可以。比如(65)O:(6)O用二进制表示110、(5)O用二进制表示101 ,所以二进制为:(110101)B


    十六进制转换为二进制
    只要需要将十六进制的每一个数用四位二进制表示,然后相连即可。


    八进制转换为十六进制
    不要以为八和十六之间存在倍数2的关系就有什么捷径,实际上没有,需要通过二进制中转一下。
    所以需要先将八进制转换成二进制,在转换成十六进制。
    十六进制转换成八进制
    需要将十六进制转换成二进制,再将二进制转换成八进制。

     

    ⑹、浮点数的表示与转换 –浮点数说白了就是我们常说的小数,只不过专业的叫法是"浮点数"。
    上面说的都是有关二进制,八进制,十进制,十六进制整数之间的相互转换,现在我们来看一下这些进制的浮点数如何表示以及相互转换的(主要说明二、八、十六进制的浮点数如何转换成十进制的浮点数)。
    相关进制的浮点数表示其实和整数的表示是一样的,比如二进制的浮点数表示:
    这里我直接上示例了:
    (0.1101)B就是表示这是一个二进制的浮点数。
    (0.1101)O或者(0.1101)Q就是表示这是一个八进制的浮点数。
    (0.1101)D就是表示这是一个十进制的浮点数。
    (0.1101)H就是表示这是一个十六进制的浮点数。
    那么二、八、十六进制的浮点数如何转换成十进制的浮点数呢?
    这里我以二进制位例子详细说明,八进制和十六进制的转换方法与二进制是一样的,只是需要将对应的进制基数替换一下就行。
    (0.1101)B这样的二进制浮点数转换成十进制的浮点数是多少呢?
    转换的方式为:先提一个问题:为什么我这里举例是纯小数(整数部分为0),因为整数部分的转换和整数的转换是一样的,上面已经说明了,这里仅说明浮点数的转换。
    需要将(0.1101)B转换为十进制的浮点数,首先从小数点右起第一位开始,这里的右起第一位是1,就用1 *2^{-1},第二位是1,继续用1 * 2^{-2},第三位是0,用0 * 2^{-3},第四位是1,用1 *2^{-4},没有第五位了,如果有,则继续按照以上逻辑以此类推,直到二进制的所有有效位数用完,然后将所有的结果全部相加,即得到了十进制的浮点数表示。
    这里再清晰写一遍:
    (0.1101)B转换为10进制的浮点数过程:
    1 *2^{-1}+1 * 2^{-2}+0 * 2^{-3}+1 *2^{-4} = (0.6875)D。
    这里需要特别注意的是:整数部分的转换幂指数是从0开始的,但是浮点数转换的幂指数是从-1开始的,这个非常的重要,并且位数和幂指数是对应的,第一位幂指数是-1,第二位幂指数是-2,第三位幂指数是-3…以此类推,最后将所有结果相加。
    八进制浮点数转换为十进制浮点数只需要将进制基数变为8,十六进制浮点数转换为十进制浮点数只需要将进制基数变为16。如果不熟悉的码友可以自行用纸笔演练一遍,只是要牢记,需要替换上对应的进制基数。
    实际上,浮点数的二进制、八进制、十进制、十六进制之间的相互转换可以分为两部分,小数点左边的整数部分转换与上文提到的整数转换完全一致,小数点右边的小数部分转换与上文提到的浮点数转换也完全一致(再次提醒,需要替换成对应的进制基数),所以一个浮点数的转换,可以分成整数部分的转换,小数部分的转换,再将转换结果通过小数点"."连起来就是最后的结果了。

     

    展开全文
  • 二进制十六进制之间的相互转换 由于16 = ,因此1位 十六进制数相当于4位二进制数, 这样, 十六进制数与二进制数之间的相互转让是十分方便的。 二进制整数转换成十六进制数的方法是: 从二进制数的最低位开始...

                                      二进制与十六进制之间的相互转换

     

    由于16 = ,因此1位 十六进制数相当于4位二进制数, 这样, 十六进制数与二进制数之间的相互转让是十分方便的。

     

    二进制整数转换成十六进制数的方法是:  从二进制数的最低位开始, 每4位分成一组, 若最高位的一组不足 4 位,  则在其左边添加 0  补足4位, 然后用每组 4 位二进制数所对应的十六进制数取代该组的4位二进制数, 就可以得到对应的十六进制数。

     

    1  例如 :  把二进制数1011101001 转换成十六进制数。

    将二进制数1011101001  从最右边 开始每4位分成一组,由于最高位 一组只有2位, 因此添加两个 0 补足4位, 分组后如下:

    二进制数                   0010  1110  1001

    十六进制数                  2        E       9

     

    所以  

    2. 例:  把十六进制数 5C7A  转换成二进制数

    十六进制数               5            C           7          A

    二进制数               0101        1100      0111     1010

    所以   

       

     注意: 十六进制的数字 7 对应二进制的 0111,  由于 7 在十六进制数的中间, 因此高位的0 不能省略.  也就是说, 每个十六进制数对应的二进制数必须是 4 位.

     

    展开全文
  • 十进制,二进制,八进制,十六进制之间的转换,左右移运算符 进制概念 1。 十进制 十进制使用十个数字(0、1、2、3、4、5、6、7、8、9)记数,基数为10,逢十进一。 历史上第一台电子数字计算机ENIAC是一台十进制机器,...
  • 来源:面包板社区10年前,在大学里学习了数字电路,课本中讲到了进制之间的相互转换,最近用到数字芯片74HC125,涉及到TTL-CMOLS-进制转换,三个方面的知识,重新拿起书本,再查找资料,汇总信息如下:01:二进制-...
  • 关于一个数的表示,我们常用的是十进制(人一般有十根手指嘛),另外也可以通过二进制、八进制、十六进制等表示数(可以相互转换),而计算机存储数始终采用的是二进制(逻辑电路中利用电的低电平表示 0 ,高电平...
  • 定义二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。数字电子电路中,逻辑门的实现直接应用了二进制,因此...
  • 在计算机系统中,通常将十进制数作为人机交互的媒介,而数据则以二进制数的形式存储和运算。 计算机采用二进制的主要原因有以下几点: (1)易于物理实现 二进制在技术上最容易实现。这是因为具有两种稳定状态的...
  • 二进制有两个数值既0和1 ,在数字电路里面他们被用来表示高低电流,在网络里面它们也被用于表示IP地址,二进制表示IP地址的方法通常都是四个八位组的二进制如“00000000 00000000 00000000 11111111” 每八个位一组...
  • 如果读者还对bit数组还不太了解,可以...二进制的表达非常简单,只有0和1两个值,又因为他在数字电路中非常容易实现和处理,所以现代计算机几乎全部使用二进制来做为基础运算方式. 二进制运算方式是逢2进1.一组二进制数的
  • 在10.28日的博客中讲述了如何设计异步十进制加法计数器, 这里我们再以异步十六进制加法计数器的设计, 加深对异步时序逻辑电路设计思路的理解. 设计方案1: 第一步, 和同步时序逻辑电路的设计套路一样, 列十六进制...
  • 一、[题目] 进制转换2 (任意进制转换) 时间限制:1.0s  内存限制:512.0MB 问题描述  不同的进制数在自然科学...人们为了方便处理二进制,使用了十六进制、八进制。  其实对于任何大于等于2的正整数p,p进制都
  • 使用二进制可以将“点阵字”数字化,再十六进制,便于压缩存储。二进制数据是用0 和 1 两个数来表示的数。它的基数为 2,进位规则是“逢二进一”,借位规则是“借一当二”。二进制只有 0 和 1 两个状态,通过...
  • 二进制(Binary),八进制(Octal) 十进制(Decimal),十六进制(Hexadecimal)是我们常用的进位制。 我们正常使用是十进制数,计算机使用二进制。...3.二进制的编码和运算规则都很简单,通过逻辑门电路
  • A1012. 进制转换3

    2018-01-15 15:51:26
    A1012. 进制转换3 时间限制:1.0s 内存限制:512.0MB  ...人类最早时由于手指是十个所以广泛采用了...人们为了方便处理二进制,使用了十六进制、八进制。  其实对于任何大于等于2的正整数p,p进制都存在。  
  • 我们要知道我们的电脑只能识别1和0,而它识别的方式就是通过电路的接通与断开也就是开关的开和...我们习惯都是用十进制来表示数,所以涉及到了进制的转换常用的进制有二进制,八进制,十进制,十六进制。生活中也有进制
  • 十六进制计算机的逻辑用1和0来代表每一段电路的真实状态(通过或者断电)。 通电为1,断电为0。二进制用1和0代表真和假。 由于早期的计算机一次能够发送8位数字,很自然地用8位二进制数字编写代码。字节8位二进制也...
  • 计算机常用进制及进制之间的转换 进制的由来 进制:进位计数制 原始的计数方式有:结绳...常用进制:十进制、二进制、八进制、十六进制。 十进制:0~9,满10进1位, 二进制:0 1 ; 补码的形式保存,0b开头:例如 0b0
  • 二进制

    2018-10-12 10:29:08
    二进制数是以2位基数记数系统表示的数字,通常用在数字电路二进制数据是用0和1来表示的数据。基数位2,进位规则位“逢二进一”。...进制之间的转换:十进制数转换为二进制数、八进制数、十六进制数的...
  • 第一章 数字系统本章提要:十进制数与二进制数十进制数与二进制数之间的转换八进制数与十六进制二进制数的运算十进制数与二进制数在我们所生活的现实世界中,几乎全部的计数方式都是采用十进制数字。但是在计算机...
  • 要知道计算机为什么采用二进制,首先需要清楚进制、计算机的发展、基本电子元器件、逻辑门电路 一、进制简单介绍 进制:一种进位的计数方式 常见的进制有二进制,八进制,十进制,十六进制,其转换方式如下: ...
  • 学习二进制

    2019-06-26 11:24:00
    什么是二进制 计算机是由逻辑电路组成的, 计算机底层通信就是通过电信号传递的,逻辑电路通常只有两个状态接通和断开, 这两种状态证号...我们常见的有二进制,十进制, 八进制,十六进制,这些进制之前是可以相互...
  • 1.1 python 十进制 转换为 二进制、八进制、十六进制 #十进制 --> 二进制 n2 = 17 r2 = bin(n2) #十进制 --> 八进制 n8 = 17 r8 = oct(n8) #十进制 --> 十六进制 n16 = 17 r16 = hex(n16) print
  • Unit4二进制存储、运算符、引用数据类型初步认识 1. 进制转换 2. 原码、反码、补码 3. 运算符 ...l 电路的开关闭合对应0、1,正好是二进制 l 八进制、十六进制表现的数据更广。 八进制:
  • 计算机为什么使用二进制、八进制、十六进制? 实现容易:电路中的状态容易表示 0 和 1 (开与关、亮与灭、高与低) 可靠性高: 0 和 1 两个数字传输和处理不易出错 运算简单:与十进制数相比,二进制数的运算规则要...
  • 数字逻辑复习总结(超全!内含例题!)

    万次阅读 多人点赞 2019-05-30 23:33:58
    文章目录数字逻辑复习总结第一章 数字逻辑基础二进制、八进制、十进制和十六进制之间的转换8421BCD码与十进制之间的转换十进制与原码、反码、补码之间的转换第二章 逻辑门电路逻辑门TTL与非门MOS逻辑电路 ...
  • CTGS--资料文件 红色是考试考过的蓝色是老师给的习题重点看 第部分 单片机概述及数学基础 一填空题 十进制的二进制十六进制是 单片机是将 存储器特殊功能寄存器 定时计数器 和输入输出接口电路 以 及相互连接的...
  • 3.2二进制十六进制间的转换 3.3二进制与八进制间的转换 4、二进制数的算术运算 4.1二进制数的基本运算 4.2二进制数的原码、补码和反码 4.3带符号二进制数的算术运算 5、几种常用的编码 ...

空空如也

空空如也

1 2 3 4 5 6
收藏数 102
精华内容 40
关键字:

十六进制转二进制电路