solidity智能合约[8]-位运算与字面量-创新互联-成都快上网建站

solidity智能合约[8]-位运算与字面量-创新互联

位运算

solidity中,可以对于最底层的位进行操作。
由于以太坊中需要消耗gas,因此,为了节约gas、所以对于位的操作会用到比较频繁。
solidity中支持多种类型的位运算操作
1、位与 &
2、位或 |
3、位异或 ^
4、位取反 ~
5、<<
6、>>

创新互联建站是少有的成都网站设计、网站制作、营销型企业网站、成都小程序开发、手机APP,开发、制作、设计、友情链接、推广优化一站式服务网络公司,于2013年创立,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评

数字3、4的二进制表示

solidity智能合约[8]-位运算与字面量

数字3、4的底层表示

位与

solidity智能合约[8]-位运算与字面量

位与

位或

solidity智能合约[8]-位运算与字面量

位或

位异或

solidity智能合约[8]-位运算与字面量

位异或

位取反

solidity智能合约[8]-位运算与字面量

位取反

位左移

solidity智能合约[8]-位运算与字面量

位左移

位右移

solidity智能合约[8]-位运算与字面量

位右移

位运算例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
pragma solidity ^0.4.23;

contract weiTest{
   uint8 a = 3;
   uint8 b = 4;
   function  weiyu() public view returns(uint8){

       return  a &b;
   }

    function  weihuo() public view returns(uint8){

       return  a |b;
   }

    function  weiyihuo() public view returns(uint8){

       return  a^b;
   }


     function  qufan() public view returns(uint8){
       return  ~a;
   }

       function  leftMove() public view returns(uint8){
       return  a<<1;
   }

       function  rightMove() public view returns(uint8){
       return  a>>1;
   }
}

整型字面量

solidity在计算过程中的中间值,支持任意的精度,如小数。不会发生溢出操作。
只有在将计算结果赋值给特定类型的时候,才会发生截断溢出等操作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//返回1
function  TestInterger() public pure returns(uint8){
    uint8 num = (2**800+1) - 2**800;
    return num;
}
//返回50
function  TestInterger2() public pure returns(uint8){
    uint8 num = 2/4*100;
    return num;
}
//返回1
 function  TestInterger3() public pure returns(uint8){
    uint8 num =11111111111111111111111111111111111111111111112-11111111111111111111111111111111111111111111111;
    return num;
}
  • 本文链接: https://dreamerjonson.com/2018/11/10/solidity-8/

  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!

solidity智能合约[8]-位运算与字面量

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


分享名称:solidity智能合约[8]-位运算与字面量-创新互联
转载来于:http://kswjz.com/article/djdjeo.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流