2020-12
实现将整数转化为16位补码
/**
* 将整数转化为16位补码。
*
* @param num 十进制整数,数值大小不会超过16位补码的可表示范围。
* @return 16位二进制补码,以字符串形式返回。
*/
public String intToComplement(int num) {
// 实现代码
}
实现1位的全加器
/**
* 实现1位的全加器。
*
* @param x 1位的二进制数。
* @param y 1位的二进制数。
* @param c 进位输入,1位的二进制数。
* @return 长度为2的字符串,包括1位的进位输出和1位的加法运算结果。
*/
public String fullAdder(char x, char y, char c) {
// 实现代码
}
实现4位的先行进位加法器
/**
* 实现4位的先行进位加法器。
*
* @param operand1 4位补码。
* @param operand2 4位补码。
* @param c 进位输入,1位的二进制数。
* @return 5位的加法运算结果,包括1位的进位和4位的和。
*/
public String claAdder(String operand1, String operand2, char c) {
// 实现代码
}
实现16位的部分先行进位加法器
/**
* 实现16位的部分先行进位加法器(基于上述方法claAdder)。
*
* @param operand1 16位补码。
* @param operand2 16位补码。
* @param c 进位输入,1位的二进制数。
* @return 17位的加法运算结果,包括1位的进位和16位的和。
*/
public String pclaAdder(String operand1, String operand2, char c) {
// 实现代码
}
实现16位的布斯乘法
/**
* 实现16位的布斯乘法。
*
* @param operand1 被乘数,十进制整数,不会超过16位补码的可表示范围。
* @param operand2 乘数,十进制整数,不会超过16位补码的可表示范围。
* @return ArrayList的长度为17,第1个元素为初始的product+Y(含Y0,共33位),
* 第2-17个元素为计算过程中每次右移后的product+Y(共33位)。
*/
public ArrayList<String> multiplication(String operand1, String operand2) {
// 实现代码
}
最后更新于