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) {
    // 实现代码
}

最后更新于