十进制数到其他数制:
对整数:除2取余,对小数:乘2取整
二进制数到十六进制数:四合一(注意以小数点为中心,四个为一组)
二到八:三合一
二到四:二合一
反之亦然
四则运算和十进制一样
无符号数的乘法运算可以转换为加法和左移位的运算。一个二进制数,每左移一位,相当于乘以2,左移n位就相当于乘以2n方。
8位无符号二进制数,表示范围为:0~2^8-1
8位的微处理器上实现16位、32位或者64位甚至更多位的二进制数加减运算,有CF寄存器
乘法不会溢出,除法会
原码:符号位+数值
范围:-27-1~27-1
问题:0两个值,
于是有了补码:原码取反再加一,中间结果叫反码
范围:-27~27-1
符号位有了位权,1代表-2^8
再次取补码,就是真值
[X+Y]补=[X]补+[Y]补
[X-Y]补=[×]补-[Y]补=[X]补+[-Y]补
[-Y]补=对[Y]补求变补,即对[Y]补的每一位包括符号位在内,按位取反并加1
判断溢出:
真值范围判断
同符号相加,异符号相减才能溢出
Cn-1 异或Cn-2 =1溢出
OF寄存器是1
浮点数
数符:正负
尾数:数的精度
计算机里阶码是以移码的形式表示的,存储阶码之前,阶码要加上偏移量,所以阶码也称为移码阶
浮点数规则有两个例外,数0.0存储为全0。无限大数的阶码存储为全1,尾数部分存储为全0,符号位指示正无限大或负无限大。
汇编定义单精度双精度
DATA1 DD 0.1875
DATA2 DQ-100.5625
BCD码—二进制编码的!十进制数!
Binary-coded decimal
压缩BCD码—8421码
每个字节存储两位十进制数
(1001 0111 )BCD表示97
非压缩BCD码
一个字节存一位十进制数
(0000 0010)BCD表示2
汇编语言中定义压缩和非压缩BCD数:
非压缩BCD数:
Numb1 db 3,2;定义23
Numb2 db 6,8,4;定义486
压缩BCD格式:
Numb1 db 23H;定义23
Numb2 db 86H,04H;定义0486