什么是 Solidity 中的有符号/无符号整数?

what is signed/unsigned integer in Solidity?

提问人:mario7111 提问时间:11/2/2022 最后编辑:mario7111 更新时间:11/3/2022 访问量:200

问:

我在 Packt 的一本 Solidity 书上找到了以下关于有符号/无符号整数的定义:

Understanding integers
Integers help in storing numbers in contracts. Solidity provides the following two types of integer:

• Signed integers: Signed integers can hold both negative and positive values.
• Unsigned integers: Unsigned integers can hold positive values along with zero. They can also hold negative values apart from positive and zero.

我可以理解有符号整数可以保存负值和正值。无符号整数可以保存正值和零。在定义中,它说除了正值和零之外,它们还可以保持负值

这意味着什么?无符号整数可以保存负值吗?这是书中的一个错误,还是我不明白?

整数 solidity uint uint32 uint16

评论

1赞 CathalMF 11/2/2022
我猜这是一个错误,因为它没有任何意义。
0赞 mario7111 11/2/2022
@CathalMF - 第一次学习这个时非常令人困惑。所以这似乎是书中的一个错误,谢谢你的评论!

答:

1赞 Petr Hejda 11/3/2022 #1

[无符号整数] ...除了正值和零值之外,还可以保存负值。

^^ 这部分不正确。

“无符号”表示该数字没有 or 符号。因此,它只能容纳 0 和正值。+-