|
|
1
2
简单的答案是,这是由于Scala如何评估事物。 考虑这样一个例子
此语句导致错误。 UInt literal在内部由bigint表示,但0xffffff是一个指定Int值的函数。0xFFFFFF相当于Int值-1。 -1 Int值被转换为BigInt-1和-1。U是非法的,因为.U文字创建方法不接受负值。 添加 |
|
2
1
问题是Scala 只有 具有有符号整数,但它没有无符号整数类型。从REPL
如果希望将负数的原始2的补码表示解释为UInt,则始终可以从SInt转换为UInt。如。
|