【刷题】计算机组成原理--数据的表示及其运算(转) (6)

5. 溢出判断 判断浮点数的溢出,我们采用双符号法,但是与定点数有一点不同:当尾数之和出现01.XXXXXX或者10.XXXXXX的时候,并不能直接下结论溢出,应当再右规一次,才能判断是否真的溢出,且规后发现其阶码的符号位出现01或者10的时候,说明溢出

浮点数的加减运算(实例)

下面是一道2009年的408的考试真题:

【刷题】计算机组成原理--数据的表示及其运算(转)

我们先看看,首先第一步没得说,先写出X和Y的二进制表示(分数转二进制很好转,百度一下就行,有个百度经验,用我们平时的同底数幂相除来算,很是方便),注意含有两个符号位:

【刷题】计算机组成原理--数据的表示及其运算(转)

然后按步骤做题:

【刷题】计算机组成原理--数据的表示及其运算(转)

这一步我们发现这个时候X和Y的阶码已经相同(00,111)了。

【刷题】计算机组成原理--数据的表示及其运算(转)

这里注意,尾数右规是指尾数部分右规,那么尾数的符号位也是在尾数中的。

【刷题】计算机组成原理--数据的表示及其运算(转)

补充知识:

大端对齐与小端对齐

大端对齐模式:是指一个字节中的高位字节放在这个字节区域内的低地址处。

小端对齐模式:是指一个字节中的低位字节放在这个字节区域内的低地址处

将一个32位的16进制数0x12345678存放在内存中(机器按字节编址)

【刷题】计算机组成原理--数据的表示及其运算(转)

实际上,小端模式就是从后面往前面存储的。

常用的进制转换数及一些技巧

127 = 7FH = 0111 1111B
128 = 80H = 1000 0000B
255 = FFH = 1111 1111B
65535 = FFFFH = 1111 1111 1111 1111B

算大的数可以用16进制数方便计算,十进制转二进制也可以转换为16进制再转换为2进制。

按边界对齐

按边界对齐?简单的说,对于int型而言,起始地址为4的倍数;对于char类型而言,起始地址为任意字节皆可;对于short类型而言,起始地址为2的倍数;对于结构体而言,对齐方式为结构体内类型最大的字节量。

强制类型转换

第一道题

【刷题】计算机组成原理--数据的表示及其运算(转)

分析:
算式显然是 int = int +short 类型,一定存在强制类型转换,那么short ->int 需要添加扩展位,注意,机器中的数用补码表示的,所以结果用补码运算。过程如下:
图中虚线左边的是16进制数,右边是2进制数,由于答案是16进制数,我们便化为16进制数进行加减。
同时,特别注意,负数的补码,是除了符号位以外取反后加1  正数的补码等于原码等于反码

考点:强制类型转换,码制间的转换运算

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfpwj.html