1.
Solidity中默认 Uint 也就是Uint256, 也就是 无符号 256位整数范围,即 2的 256次方 减一的 10进制范围,
预计大小为:
115792089237316195423570985008687907853269984665640564039457584007913129639936
Uint8的长度为 2的8次方 减一的 10进制范围,
大小为 256 -1 =255;
合约代码注意点:
pragma solidity ^0.4.; contract Test{
function a() returns (uint){
uint count = ;
for (var i = ; i < ; i++) {
count++;
if(count >= ){
break;
}
}
return count;
}
}
上述代码运行的结果实际为2100
。原因是因为var i = 0
定义时,
通过类型推断,i
的实际类型为uint8
,所以它会一直循环,
如果没有count >= 2100
这个判断语句,这个循环将永远不会结束。
附: