主页 > 北京SEO >

[北京网站优化]详细解读二进制、八进制、十进制、十六进制(一)

· 文章编辑:孔宇SEO · 所属栏目:北京SEO
    一、二进制
    1、什么是二进制:
    二进制,是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
    20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号"0''.''1''的某种代数演算,二进制是逢2进位的进位制。0、1是基本算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。
    2、二进制数据的表示法:
    二进制数据也是采用位置计数法,其位权是以2为底的幂。例如二进制数据110.11,逢2进1,其权的大小顺序为2?、2?、2?、  、  。对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为:
    二进制数据一般可写为:
二进制
    【例1102】将二进制数据111.01写成加权系数的形式。
    解:二进制
    二进制和十六进制,八进制一样,都以二的幂来进位的。
    3、二进制的运算:

    Ⅰ、加法:
    有四种情况:
    0+0=0
    0+1=1
    1+0=1
    1+1=10
    0 进位为1
    【例1103】求 1011(2)+11(2) 的和
    解:二进制运算
    Ⅱ、乘法:
    有四种情况: 0×0=0
    1×0=0
    0×1=0
    1×1=1
    Ⅲ、减法:
    0-0=0,1-0=1,1-1=0,0-1=1。
    Ⅳ、除法:
    0÷1=0,1÷1=1。
    Ⅴ、拈加法:
    拈加法二进制是加减乘除外的一种特殊算法。
    拈加法运算与进行加法类似,但不需要做进位。此算法在博弈论(Game Theory)中被广泛利用
    计算机中的十进制小数转换二进制
    计算机中的十进制小数用二进制通常是用乘二取整法来获得的。
    比如0.65换算成二进制就是:
    0.65 × 2 = 1.3 取1,留下0.3继续乘二取整
    0.3 × 2 = 0.6 取0, 留下0.6继续乘二取整
    0.6 × 2 = 1.2 取1,留下0.2继续乘二取整
    0.2 × 2 = 0.4 取0, 留下0.4继续乘二取整
    0.4 × 2 = 0.8 取0, 留下0.8继续乘二取整
    0.8 × 2 = 1.6 取1, 留下0.6继续乘二取整
    0.6 × 2 = 1.2 取1,留下0.2继续乘二取整
    .......
    一直循环,直到达到精度限制才停止(所以,计算机保存的小数一般会有误差,所以在编程中,要想比较两个小数是否相等,只能比较某个精度范围内是否相等)。这时,十进制的0.65,用二进制就可以表示为:0.1010011。
    还值得一提的是,在计算机中,除了十进制是有符号的外,其它如二进制、八进制、16进制都是无符号的。
    在现实生活和记数器中,如果表示数的“器件”只有两种状态,如电灯的“亮”与“灭”,开关的“开”与“关”。一种状态表示数码0,另一种状态表示数码1,1加1应该等于2,因为没有数码2,只能向上一个数位进一,就是采用“满二进一”的原则,这和十进制是采用“满十进一”原则完全相同。
    1+1=10,10+1=11,11+1=100,100+1=101,
    101+1=110,110+1=111,111+1=1000,……,
    可见二进制的10表示二,100表示四,1000表示八,10000表示十六,……。
    二进制同样是“位值制”。同一个数码1,在不同数位上表示的数值是不同的。如11111,从右往左数,第一位的1就是一,第二位的1表示二,第三位的1表示四,第四位的1表示八,第五位的1表示十六。
    所谓二进制,也就是计算机运算时用的一种算法。二进制只由一和零组成。
    比方说吧,你上一年级时一定听说过“进位筒”(“数位筒”)吧!十进制是个位上满十根小棒就捆成一捆,放进十位筒,十位筒满十捆就捆成一大捆,放进百位筒……
    二进制也是一样的道理,个位筒上满2根就向十位进一,十位上满两根就向百位进一,百位上满两根…… 二进制是世界上第一台计算机上用的算法,最古老的计算机里有一个个灯泡,当运算的时候,比如要表达“一”,第一个灯泡会亮起来。要表达“二”,则第一个灯泡熄灭,第二个灯泡就会亮起来。
    二进制就是等于2时就要进位。
    0=00000000
    1=00000001
    2=00000010
    3=00000011
    4=00000100
    5=00000101
    6=00000110
    7=00000111
    8=00001000
    9=00001001
    10=00001010
    ……
    即是逢二进一,二进制广泛用于最基础的运算方式,计算机的运行计算基础就是基于二进制来运行。只是用二进制执行运算,用其他进制表现出来。
    其实把二进制三位一组分开就是八进制, 四位一组就是十六进制
    二、八进制
    1、八进制简介:八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。
    Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。
    八进制(基数为8)表示法在计算机系统中很常见,因此,我们有时能看到人们使用八进制表示法。由于十六进制一位可以对应4位二进制数字,用十六进制来表示二进制较为方便。因此,八进制的应用不如十六进制。有一些程序设计语言提供了使用八进制符号来表示数字的能力,而且还是有一些比较古老的Unix应用在使用八进制。
    计算机需要数制转换,计算机内部使用二进制,二进制八进制十进制之间的数制转换,FORTRAN77 编制, 围绕二进制与小数,完成二进制八进制十进制之间的数制转换。
    2、八进制的转换:
    二进制与八进制的互相转换和二进制与十六进制的转换类似,区别在于需要操作的是三位一组而不是四位。表2-2列出了二进制与八进制的等效表示。
    为了把八进制数换算为二进制,将每一个八进制数字替换成表2-2中对应的三位。例如,八进制123换算成二进制的结果就是001010011:
 
1 2 3
1 10 11

表2-2 二进制/八进制换算表
二进制 八进制
0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7

    为了将一个二进制数换算为八进制,只需将二进制串划分成每三个位一组(如果需要的话,在前面补零),然后查表2-2,将三位一组的位串替换为相应的八进制数字即可。
    如果需要将八进制数换算为十六进制,只需将八进制数换算为二进制,然后再换算为十六进制即可。
    八进制化为十进制:
    例:将八进制数12转换成十进制数
北京网站优化
    八进制化为二进制:
    规则:按照顺序,每1位八进制数改写成等值的3位二进制数,次序不变。
    例: (17.36)8 = (001 111 .011 110)2 = (1111.01111)2
    八进制化为十六进制
    先将八进制化为二进制,再将二进制化为十六进制。
    例:(712)8 = (1110 0101 0)2 = (1CA)16
    转换为八进制
    二进制化为八进制:
    整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。
    小数部份从最高有效位开始,以3位一组,最低有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的小数。
    例:(11001111.01111)2 = (011 001 111.011 110)2 = (317.36)8
    十六进制化为八进制:
    先用1化4方法,将十六进制化为二进制;再用3并1方法,将二进制化为8制。
    例: (1CA)16 = (111001010)2 = (712)8
    说明:小数点前的高位零和小数点后的低位零可以去除。
    十进制化八进制
    方法1:采用除8取余法。
    例:将十进制数115转化为八进制数
    8| 115…… 3
    8| 14 …… 6
    8| 1 …… 1
    结果:(115)10 = (163)8
    方法2:先采用十进制化二进制的方法,再将二进制数化为八进制数
    例:(115)10 = (1110011)2 = (163)8
    C语言中的表达
    在C语言里,整数有三种表示形式:十进制,八进制,十六进制。其中以数字0开头,由0~7组成的数是八进制。以0X或0x开头,由0~9,A~F或a~f 组成是十六进制。除表示正负的符号外,以1~9开头,由0~9组成是十进制。1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278。2,八进制:以0开头,由0~7组成的数。如,0126,050000.3,十六进制:以0X或0x开头,由0~9,A~F或a~f 组成。如,0x12A,0x5a000。

优化技巧
技能培训

更多阅读

[网站运营技巧]教站长如何利用百度知心算法获取流量

行业动态 2019-06-04
关于搜索引擎知心搜索其实谈不上算法,...查看全文

[站点排名]搜索引擎网页排序的每一个掉排名背后的逻辑观点

行业动态 2019-06-04
在黑帽SEO优化里面流行着这么一种思路,...查看全文

[提升网站排名]从四个象限全面提升你站点的权重和信任度

行业动态 2019-06-04
新浪之所以可以成为权威新闻,并不是天...查看全文
网站地图
扫描二维码分享到微信
确 认
友情链接: