汇编语言不能移植,不同计算机硬件指令集不同,不能运行。

正数:寄存器中数据要从低地址到高地址读。值的高位存在低地址。

一、数与字

1、数值型数据

用途:计算、比较。

2、非数值型数据

用途:输入输出、存储、比较。

3、数有各种类型和范围,字只有一种类型——char

bool型属于数值型。

4、数与字最终都是0,1的序列。

5、数和字的编码不同。

数根据不同数据类型分类,分为:

无符号数、有符号数、浮点数

字有不同的编码:

ascII、GB2312、unicode

6、数和字的转换

从输入输出看:字通过scanf变为数,数通过printf变为字。

数→itoa→字;字→atoi→数

二、数的单位:b、B、W

b bit 一个二进制位
B byte 一个字节,八个二进制位
W word 一个字,cpu中通用寄存器所占用的二进制位数,为16位
DWord DWord 32位,两个字

应用

b用于速率 B表示存储 W用于表示cpu或计算机的位数

三、进制及变换

1、进制

逢n进一 基:2,8,10,16 权(位):基

2、通用表示

3、二进制特点

  • 只有0,1两个数,容易用硬件实现
  • 容易实现逻辑运算
  • 容易实现加法运算
  • 移位运算(乘以2左移;除以2右移)

4、2,8,16进制的转换

5C7AH = 0101 1100 0111 1010(B) =056172(O)(二进制从右向左三个三个划)

5、其他位转十进制

(按权转换)$01100100B=2^6+2^5+2^2=64+32+4=100$(基值反复相乘)$=(((((02+1)2+1)2+0)2+0)2+1)2+0)*2+0)$

十进制转其他进制

整数 除以基取余直到为0(结果的顺序从低位到高位) 小数 乘基取整直到满足精度

四、数的编码

1、机器数与真值

  • 机器数是连同符号位一起表示的数值;
  • 最高位为1是负数,0为正数。
  • 正数的编码同无符号数:机器数等于真值。
  • 负数的编码采用补码形式(正数的补码)(将减法转换成加法计算)
  • 编译器完成数的进制变换及编码生成
  • BCD码:8421码NBCD
  • 移码与浮点编码(IEEE754)

减法计算:$-x=+2^8-x$ 原码:符号位为1,后面是真值的二进制。 反码:符号位1,在原码的基础上各位取反(正数反码与其本身相同)。 补码:反码+1,(正数原码与补码相同). -1 = 10000001 = 11111110B = 11111111B

真值 机器码
-1 1111 1111B
+100 01100100B

results matching ""

    No results matching ""