( 一)进制的加减乘除与数据宽度

<2> 编制16进制加法表,乘法表,并计算下面的结果:6D2C6+B43C6=?5ED1-F5A=?BCA*D5=?     

0    1    2    3    4    5    6    7    8    9    A    B    C    D
E    F    10    11    12    13    14    15    16    17    18    19    1A    1B
1C    1D    1E    1F    20    21    22    23    24    25    26    27    28    29
2A    2B    2C    2D    2E    2F                               
加法表:
1+1=2                                                       
1+2=3    2+2=4                                                   
1+3=4    2+3=5    3+3=6                                               
1+4=5    2+4=6    3+4=7    4+4=8                                           
1+5=6    2+5=7    3+5=8    4+5=9    5+5=A                                       
1+6=7    2+6=8    3+6=9    4+6=A    5+6=B    6+6=C                                   
1+7=8    2+7=9    3+7=A    4+7=B    5+7=C    6+7=D    7+7=E                               
1+8=9    2+8=A    3+8=B    4+8=C    5+8=D    6+8=E    7+8=F    8+8=10                           
1+9=A    2+9=B    3+9=C    4+9=D    5+9=E    6+9=F    7+9=10    8+9=11    9+9=12                       
1+A=B    2+A=C    3+A=D    4+A=E    5+A=F    6+A=10    7+A=11    8+A=12    9+A=13    A+A=14                   
1+B=C    2+B=D    3+B=E    4+B=F    5+B=10    6+B=11    7+B=12    8+B=13    9+B=14    A+B=15    B+B=16               
1+C=D    2+C=E    3+C=F    4+C=10    5+C=11    6+C=12    7+C=13    8+C=14    9+C=15    A+C=16    B+C=17    C+C=18           
1+D=E    2+D=F    3+D=10    4+D=11    5+D=12    6+D=13    7+D=14    8+D=15    9+D=16    A+D=17    B+D=18    C+D=19    D+D=1A       
1+E=F    2+E=10    3+E=11    4+E=12    5+E=13    6+E=14    7+E=15    8+E=16    9+E=17    A+E=18    B+E=19    C+E=1A    D+E=1B    E+E=1C   
1+F=10    2+F=11    3+F=12    4+F=13    5+F=14    6+F=15    7+F=16    8+F=17    9+F=18    A+F=19    B+F=1A    C+F=1B    D+F=1C    E+F=1D    F+F=1E
乘法表:

1*1=1                                                       
1*2=2    2*2=4                                                   
1*3=3    2*3=6    3*3=9                                               
1*4=4    2*4=8    3*4=C    4*4=10                                           
1*5=5    2*5=A    3*5=F    4*5=14    5*5=19                                       
1*6=6    2*6=C    3*6=12    4*6=18    5*6=1E    6*6=24                                   
1*7=7    2*7=E    3*7=15    4*7=1C    5*7=23    6*7=2A    7*7=31                               
1*8=8    2*8=10    3*8=18    4*8=20    5*8=28    6*8=30    7*8=38    8*8=40                           
1*9=9    2*9=12    3*9=1B    4*9=24    5*9=2D    6*9=36    7*9=3F    8*9=48    9*9=51                       
1*A=A    2*A=14    3*A=1E    4*A=28    5*A=32    6*A=3C    7*A=46    8*A=50    9*A=5A    A*A=64                   
1*B=B    2*B=16    3*B=21    4*B=2C    5*B=37    6*B=42    7*B=4D    8*B=58    9*B=63    A*B=6E    B*B=79               
1*C=C    2*C=18    3*C=24    4*C=30    5*C=3C    6*C=48    7*C=54    8*C=60    9*C=6C    A*C=78    B*C=84    C*C=90           
1*D=D    2*D=1A    3*D=27    4*D=34    5*D=41    6*D=4E    7*D=5B    8*D=68    9*D=75    A*D=82    B*D=8F    C*D=9C    D*D=A9       
1*E=E    2*E=1C    3*E=2A    4*E=38    5*E=46    6*E=54    7*E=62    8*E=70    9*E=7E    A*E=8C    B*E=9A    C*E=A8    D*E=B6    E*E=C4   
1*F=F    2*F=1E    3*F=2D    4*F=3C    5*F=4B    6*F=5A    7*F=69    8*F=78    9*F=87    A*F=96    B*F=A5    C*F=B4    D*F=C3    E*F=D2    F*F=E1

    6D2C6+B43C6=12168C        5ED1-F5A=4F77                   
                   
                   
              6D2C6            5ED1   
           +B43C6           - F5A   
    -----------------------    ----------   
             12168C             4F77   

    BCA*D5=9CF12

        BCA   
       *D5   
------------------       
     3AF2    
    9942   
    ------------   
    9CF12   

<4> 10进制定义:由10个符号组成,分别是:!、@、$、%、^、&、*、A、B、C,逢10进1                                                                                                  
                                                                                                  
计算:@$$B + %AC& = &!$%                                        
                                   
!    @    $    %    ^    &    *    A    B    C
@!    @@    @$    @%    @^    @&    @*    @A    @B    @C
$!    $@    $$    $%    $^    $&    $*    $A    $B    $C
                                   
                                   
@+@=$                                   
@+$=%    $+$=^                               
@+%=^    $+%=&       %+%=*                           
@+^=&    $+^=*        %+^=A    ^+^=B                       
@+&=*    $+&=A        %+&=B    ^+&=C    &+&=@!                   
@+*=A    $+*=B           %+*=C    ^+*=@!    &+*=@@    *+*=@$               
@+A=B    $+A=C         %+A=@!    ^+A=@@    &+A=@$    *+A=@%    A+A=@^           
@+B=C    $+B=@!         %+B=@@    ^+B=@$    &+B=@%    *+B=@^    A+B=@&    B+B=@*       
@+C=@!    $+C=@@    %+C=@$    ^+C=@%    &+C=@^    *+C=@&    A+C=@*    B+C=@A    C+C=@B   
                                   
         @$$B                               
       +%AC&                               
----------------------                                   
           &!$%                               

 

各种进制的运算都是完美的,不需要刻意转换,学汇编首先忘掉十进制,记住16进制与2进制的对应关系

 

0   1   2     3     4        5         6         7          8          9           A         B          C         D         E         F
0   1  10  11  100     101     110    111     1000   1001    1010   1011   1100   1101  1110   1111
 

为什么要有数据宽度?
因为内存有大小,数据会有边界,超过这个边界会被丢弃

 

有符号与无符号

计算机中存储的数字都是以补码的形式存储,那么这个数是有符号或者无符号取决于我们怎么看待。

如果看成无符号数,那么补码反码原码是一样的

如果是有符号数,那么需要注意数据宽度, 最高位为1,那么这个数是负数

 

 

 

posted @ 2016-12-19 16:46  晓晓晓  阅读(870)  评论(0编辑  收藏  举报