Solidity類型Uint類型區分?


1.

Solidity中默認 Uint 也就是Uint256, 也就是 無符號 256位整數范圍,即 2的 256次方 減一的 10進制范圍,

預計大小為:

115792089237316195423570985008687907853269984665640564039457584007913129639936

 

Uint8的長度為 2的8次方 減一的 10進制范圍,

大小為 256 -1 =255;

 

合約代碼注意點:

pragma solidity ^0.4.4;

contract Test{
    function a() returns (uint){
      uint count = 0;
        for (var i = 0; i < 2000; i++) {
            count++;
            if(count >= 2100){
                break;
            }
        }
        return count;
    }
}

上述代碼運行的結果實際為2100。原因是因為var i = 0定義時,

通過類型推斷,i的實際類型為uint8,所以它會一直循環,

如果沒有count >= 2100這個判斷語句,這個循環將永遠不會結束。

 

 

附:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM