zoukankan      html  css  js  c++  java
  • 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,每次取余数作为一个十六进制数字,最后逆序排列。

      

  • 相关阅读:
    Mac下截图快捷键
    在Mac下显示所有文件
    Mac 下格式化U盘
    在Mac OS X系统下 用dd命令将iso镜像写入u盘
    微信公众号全局返回码说明和接口频率限制说明
    Mac Git 学习笔记
    vim编程配置方法
    解决“Xlib.h not found when building graphviz on Mac OS X 10.8”错误
    Java-Session服务器端会话技术
    Java-记住上一次访问时间案例
  • 原文地址:https://www.cnblogs.com/BlueCc/p/12171478.html
Copyright © 2011-2022 走看看