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
這個判斷語句,這個循環將永遠不會結束。
附: