Solidity

標準數據類型的最大值/最小值

  • February 15, 2021

在哪裡可以找到各種類型可以儲存的最大值和最小值?以及浮點數的 epsilon 值?

我正在尋找類似 C 的東西limits.h,但是對於 Solidity / EVM。

2020 年更新

Solidity 0.6.8引入了min關鍵字max,現在可以原生地告訴您預期類型的最小值和最大值。從發布頁面:

為每個整數類型 T 實現 type(T).min 和 type(T).max,返回該類型可表示的最小值和最大值。

您可以使用以下程式碼進行嘗試。請注意,uint256可以將值交換為任何有效的整數類型:

pragma solidity ^0.6.8;

contract TestContract {
   uint256 public a;
   uint256 public b;
   
   function myTest() external {
       a = type(uint256).min;
       b = type(uint256).max;
   }
}

引用自:https://ethereum.stackexchange.com/questions/27813