Bytes32
如何將 bytes32 結果修改為 uint?
我想將最近的塊頭雜湊的最後三位分開,並將結果作為 uint。
我可以通過這段程式碼得到 bytes32 的答案,但是如何將這個結果更改為 uint?
contract test { bytes32 lastblockhashused; uint lastblocknumberused; function test() { lastblocknumberused = (block.number-1) ; lastblockhashused = block.blockhash(lastblocknumberused); } function getTest1() constant returns (bytes32) { bytes32 number1 =lastblockhashused; return number1 & 0xfff; } }
或者只是完全取消您的
number1
變數,同時還要記住更改返回類型:function getTest1() constant returns (uint) { return uint(lastblockhashused) & 0xfff; }
您可以簡單地將 bytes32 轉換為 uint
uint(number1)
。