Solidity

如何在solidity中將uint8轉換為uint256點陣圖?

  • January 8, 2022

假設我有一個uint8二進制值,0000_10018+1=9十進制。如何uint8以氣體有效的方式將uint256其轉換為表示點陣圖的a?,這樣在本例中,第 9 位(1-indexed)被初始化為1,所有剩餘的 255 位被初始化為,0...0_0001_0000_0000

您將使用移位運算符。

在您的範例中:

uint8 value = 9;
uint256 mask = 1 << value;

請參閱<https://docs.soliditylang.org/en/v0.8.10/types.html#integers>

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