问题描述
在Verilog中设计一个四位加法器/减法器,并将其显示在七段显示器上。
我的大多数代码都在起作用,但是当我需要一个包含负数的减法时,会产生错误的结果。
例如, 5-7应该得到2,但是我收到E
下面是我的代码:
public static class DateTimeHelper
{
public static DateTime Now() => TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow,TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time"));
}
解决方法
E是正确的结果,因为它在4位二进制补码中为-2。
从负的2的补数变为正的诀窍(如果尚未覆盖)是反转并加一个。
-
E的二进制值为1110
-
1110的倒数是0001
-
0001加1是0010(2)