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
这个判断语句,这个循环将永远不会结束。
附: