8086汇编-0进制转换


/*

     
    2 的 2次方 == 4
    2 的 3次方 == 8
    2 的 4次方 == 16
    2 的 5次方 == 32
    2 的 6次方 == 64
    2 的 7次方 == 128
    2 的 8次方 == 256
    
    2 的 9次方 == 512
    2 的 10次方 == 1024
    2 的 11次方 == 1024
    2 的 12次方 == 2048
    2 的 13次方 == 4096
    2 的 14次方 == 8192

  二进制(Binary):

    在机器码的二进制中,如何去计算二进制转十进制? 从右向左,当前数字对应的索引下标 就是 几次方,如果当前位置是1 就是 1*2的索引次方  如果是 0 那就是0.每个位置的 1进行相加就行了,最后得到的就是十进制.

    11001010 二进制转换十进制 == 202

    1*(2 的7次方) == 128
    1*(2 的6次方) == 64 
    0*(2 的5次方) == 0           这里等于  0*32   ,0乘啥都等于0
    0*(2 的4次方) == 0
    1*(2 的3次方) == 8 
    0*(2 的2次方) == 0
    1*(2 的1次方) == 2
    0*(2 的0次方) == 0            任何数的0次方都等于1                    然后从上往下把等到的数 全部以十进制的加法加在一块就等到了十进制的数
    128+64+0+0+8+0+2+0 == 128+64+8+2 == 202

    十进制转二进制 是通过,十进制的数,不断的除以 2 得到的余数,进行连接, 当除以2后的得数等于0为止,然后我们从最后面的余数开始组拼,拼接到第一次的余数,就是转换成二进制了.
        202 十进制转换二进制  == 11001010
        200/2 = 101      余数 0
        101/2 = 50       余数 1
        50/2 = 25        余数 0
        25/2 = 12        余数 1
        12/2 = 6         余数 0
        6/2 = 3          余数 0
        3/2 = 1          余数 1 
        1/2 = 0          余数 1     从这里向上拼接   11001010 为什么要从下往上拼接呢,因为第一次的余数是个位开始的.

    
  十六进制(Hexadecimal)

        16  2次方 == 256
        16  3次方 == 4096
        16  4次方 == 65536
        16  5次方 == 1048576
        16  6次方 == 16777216
        16  7次方 == 268435456
        16  8次方 == 4294967296

    二进制和十六进制的对应关系:
        二进制                十六进制
        0                    0
        1                    1
        10                    2
        11                    3
        100                    4
        101                    5
        110                    6    
        111                    7
        1000                8    
        1001                9
        1010                A
        1011                B
        1100                C
        1101                D
        1110                E
        1111                F

    为什么程序员要用十六进制表示法来替代二进制,那么他们为什么不用十进制呢?
    主要由于十六进制表示法有两个非常好的特性:
        它很紧凑;
        在二进制和十六进制之间的转换非常容易.(重点)

  十六进制 是从 0到9 A到F                 
    A==10    B==11    C==12    D==13    E==14    F==15     这里没有16,因为是从0开始的. 就像二进制 只有0和1 ,与十进制不一样,   
    

    十六进制转换成十进制与二进制转换十进制一样, 只是把2 替换成16了
        1234 十六进制转换十进制:
            1*(16 的3次方) == 4096
            2*(16 的2次方) == 512
            3*(16 的1次方) == 48
            4*(16 的0次方) == 4
            4096+512+48+4 == 4660 转换成功

    十六进制转换二进制就非常的简单了.通过上面二进制和十六进制的对应关系表就能知道怎么转换了.直接用表去对应就可以了,例如数据:
        二进制的  1011110110101010  我们把它每4位进行分割得到如下数据,4位对应表中的十六进制进行转换就OK了:
        1011 1101 1010 1010(2进制)            ==   BDAA(16进制)  == (8+0+2+1) + (8+4+0+1) + (8+0+2+0) + (8+0+2+0)   (10进制)
        
        可以不用背诵,直接找个对照图就行了.
        十六进制转换二进制 也是对照图......脑残不会转.


        我们以十六进制来替代二进制的表示,这样就可以让我们可以非常容易的阅读了.

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值