计算机组成原理-数据的机器级表示与处理-原码、无符号整数、补码的乘除运算


一、乘法运算

如果想做乘法运算,首先应该有一个被乘数寄存器还有个乘数寄存器。n个数*n个数最后结果是2n个数。

无符号整数的乘法

在这里插入图片描述
无符号整数乘法,首先把乘积寄存器P至0,Y放上乘数,然后根据乘数的最后一位来判断,如果最后一位是1那么add,然后右移。如果是0那么只右移动。最后肯定又移。需要有一个进位寄存器。
无符号:若高n位全0,则不溢出,否则溢出
在这里插入图片描述

原码的乘法

和上面一样,不过就是需要判读符号位。
在这里插入图片描述
在这里插入图片描述

补码的乘法

带符号:若高n位全0或全1且等于低n位的最高位,则不溢出。
原码乘法和无符号整数的硬件一致。补码和他们硬件线路不一致。
在这里插入图片描述
Booth 算法描述如下:

  • 乘数与被乘数均用补码表示,连同符号位一起参加运算;运算结果(乘积)也是补码。
  • 乘数最低位后增加一个附加位(可用A-1表示),初始设定为0。
  • 从附加位开始,按上表总共进行n次加操作、n-1次右移操作(最后一次不右移)。
  • 右移按补码规则进行,即符号位复制。
    在这里插入图片描述
    原码最后一次要右移,补码最后一次不用移动。

二、除法运算

无符号整数、原码的除法

被除数必须大于除数,在被除数前面补0,补成2n。然后先逻辑左移一位,然后减Y。“正 1 减”、“负 0 加”
在这里插入图片描述

补码的除法

前面补一个符号位,和补码乘法一样。先比较被除数与除数的符号。
在这里插入图片描述
总结:原码乘法新增一个符号位、补码乘法新增一个符号位和一个注记位、原码除法新增两个符号位、补码除法新增一个符号位。

二、浮点数运算

在这里插入图片描述
1.浮点数的加减法
首先需要对阶,将小的变成大的,然后右归。右归多少呢?需要用两个移码进行相减,出来补码,然后进行右归。右归的时候需要考虑尾数前面的1,然后面有3个附加位,所以真正运算的时候是23(尾数)+3(符号位)。小数点前面需要加溢出位。例子如下。原码加减的时候小数点不变。
在这里插入图片描述
1.浮点数的乘除法
在这里插入图片描述

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值