Solidity
如何在solidity中將uint8轉換為uint256點陣圖?
假設我有一個
uint8
二進制值,0000_1001
即8+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>