题解 | #乘法与位运算#
乘法与位运算
http://www.nowcoder.com/practice/e41980b698624eb2b20c0d6e2bee7f45
观察乘数的特点: 1111_1011 = 1_0000_0000 - 1 - 100;因为1_0000_0000 - 1 = 1111_1111,再减去100,故为题目中的乘数。
注意:“-”的优先级比“<<”高
`timescale 1ns/1ns
module dajiang13(
input [7:0] A,
output [15:0] B
);
//*************code***********//
//观察乘数的特点: 1111_1011 = 1_0000_0000 - 1 - 100;
//注意:“-”的优先级比“<<”高
assign B = (A << 4'd8) - A - (A << 2'd2);
//*************code***********//
endmodule
