zoukankan      html  css  js  c++  java
  • 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这个判断语句,这个循环将永远不会结束。

    附:

  • 相关阅读:
    Hibernate的检索
    Java 多线程
    可信软件开发
    Linux复习3
    Linux复习2
    Linux复习1
    使用Sourcetree(for windows)建立github同步仓库
    Session技术
    Cookie技术
    Ajax技术
  • 原文地址:https://www.cnblogs.com/x-poior/p/10256143.html
Copyright © 2011-2022 走看看