整数
最左是符号位,负数为1:不常用
在6位单位里:
**补码(two‘s complement)**二进制:
(+5):00 0101
(- 5):11 1011 =》00 0101 的加法逆元(additive reverse
上下相加 = (0):1 00 0000
加法逆元取得方法:
先得反码(ones’ complement):相加等于 11 1111
NOT 00 0101 = 11 1010
再加1:
11 1010
ADD 00 0001
——————————
結構
表数范围:-32到31(100000 到 011111
bin dec 转换:非负数easy
一个10单位的数为 11 1111 1001
1。这个数是负数,先取反,再加1,再转换
2。直接转换,把所有0当1,然后再加一(在±符号里
ISA3层上二进制存储的一个重要特性就是每个值没有与之相关的类型
1000 1110 作为无符号数解释时,是142
作为补码表示解释时,是-114
硬件队两种类型不加以区分,只存储位模式
在CPU里,只做普通的二进制加法
补码二进制中,C(进位位)不再表示一个和是否在表数范围内(而是没有意义,进了就进了),运算结果超出范围时,用V表示溢出位,设置为1。否则V设置为0
除了C和V, 还有N用于检测负数结果,Z用于检测零结果
寄存器传送语言(RTL):
conjunction & disjuction: AND &OR
negation: NOT
implies: if/then
transfer: 赋值=
sequential separator
concurrent separator
ASL(arithmetic shift left)算术左移
ASR(arithmetic shift right)算术右移
算术循环运算符
ROL:循环左移运算
ROR:循环右移运算
C = 1,ROL 01 1101 = 11 1010, C = 0
C = 1,ROR 01 1101 = 10 1110,C = 1
字符
ASCII
American Standard Code for Information Interchange
浮点数
啥呀
其他
以上为无符号二进制表示正数,另一种表示:Binary Coded Decimal(BCD)二进制编码十进制数
在BCD中,每个十进制的位刚好需要4位
142:0001 0100 0010
但是算数计算较慢,当数字只是个模型时,用BCD较好
当数据时金融业务并有很多I/O操作时,由于BCD更容易转换为十进制,通常选用BCD