• day1认识汇编(笔记)


    学习地址:http://c.biancheng.net/view/3299.html

    一.二进制与十进制相互转换

      1.无符号二进制整数到十进制数的转换

        dec = ( Dn-1 x 2n-1 ) + ( Dn-2 x 2n-2 ) +…+ ( D1 x 2)+ ( D0 x 2)

        D 表示一个二进制数字。比如,二进制数 00001001 就等于 9。计算该值时,剔除了数字等于 0 的位:( 1 X 23 ) + ( 1 X 20 ) = 9

        /*类推,10001001---->1*2^7+1*2^3+1*2^0 = 137/    整数从右到左,小数点后从左至右

      2.十进制整数到二进制数的转换

      不断将这个整数除以 2,并将每个余数记录为一个二进制数字,最后逆序排列得到。

          例如137:    137/2  =  68 ... 1; 

            68/2    =   34 ... 0 ;

            34/2    =   17 ... 0;

            17/2    =     8 ... 1;

              8/2    =     4 ... 0 ;

            4/2    =    2 ... 0;  

            2/2 =    1... 0;

            1/2 =    0  ... 1;    逆序,由下至上,10001001

    二. 二进制加法

      0 + 0 = 0    0 + 1 = 1   1 + 0 = 1    1 + 1 = 10

      位对位相加

      有些情况下,最高有效位会产生进位。这时,预留存储区的大小就显得很重要。比如,如果计算 1111 1111 加 0000 0001,就会在最高有效位之外产生一个 1,而和数的低 8 位则为全 0。
           如果和数的存储大小最少有 9 位,那么就可以将和数表示为 1 0000 0000。但是,如果和数只能保存 8 位,那么它就等于 0000 0000,也就是计算结果的低 8 位。

      

    三.字节

      在 x86 计算机中,所有数据存储的基本单位都是字节(byte),一个字节有 8 位。其他的存储单位还有字(word)(2 个字节),双字(doubleword)(4 个字节)和四字(quadword)(8 个字节)。

    四.十六进制

      十六进制整数中的 1 个数字就表示了 4 位二进制位,两个十六进制数字就能表示一个字节(1个字节有8位二进制位,十六进制中的1个数字表示4位二进制位,故两个十六进制数能表示一个字节)

      无符号十六进制数到十进制的转换:

      任意n位数的十六进制整数:

      dec = (Dn-1 X 16n-1)+ (Dn-2 x 16n-2)+…+ (D1 X 161)+ (D0 x 160)

      

      无符号十进制数到十六进制的转换:

      把这个十进制数反复除以16,每次取余数作为一个十六进制数字,最后逆序排列。

      

  • 相关阅读:
    使用线程池对应用程序产生线程个数与占用CPU时间的影响
    枚举类型解析
    性能监视器的简单使用
    WCF 承载服务
    ManulResetEvent与AutoResetEvent
    获取当前目录的上级目录
    WCF 异步调用
    适配器设计模式
    控制控制台自身的最大化最小化
    代码自动生成技术相关介绍
  • 原文地址:https://www.cnblogs.com/BlueCc/p/12171478.html
Copyright © 2020-2023  润新知