位運(yùn)算
solidity中,可以對(duì)于最底層的位進(jìn)行操作。
由于以太坊中需要消耗gas,因此,為了節(jié)約gas、所以對(duì)于位的操作會(huì)用到比較頻繁。
solidity中支持多種類型的位運(yùn)算操作
1、位與 &
2、位或 |
3、位異或 ^
4、位取反 ~
5、<<
6、>>

創(chuàng)新互聯(lián)建站是少有的
成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、營銷型企業(yè)網(wǎng)站、成都小程序開發(fā)、手機(jī)APP,開發(fā)、制作、設(shè)計(jì)、
友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,于2013年創(chuàng)立,堅(jiān)持透明化,價(jià)格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評(píng)
數(shù)字3、4的二進(jìn)制表示
![solidity智能合約[8]-位運(yùn)算與字面量](/upload/otherpic15/239050.jpg)
數(shù)字3、4的底層表示
位與
![solidity智能合約[8]-位運(yùn)算與字面量](/upload/otherpic15/239052.jpg)
位與
位或
![solidity智能合約[8]-位運(yùn)算與字面量](/upload/otherpic15/239054.jpg)
位或
位異或
![solidity智能合約[8]-位運(yùn)算與字面量](/upload/otherpic15/239055.jpg)
位異或
位取反
![solidity智能合約[8]-位運(yùn)算與字面量](/upload/otherpic15/239056.jpg)
位取反
位左移
![solidity智能合約[8]-位運(yùn)算與字面量](/upload/otherpic15/239057.jpg)
位左移
位右移
![solidity智能合約[8]-位運(yùn)算與字面量](/upload/otherpic15/239058.jpg)
位右移
位運(yùn)算例子
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在計(jì)算過程中的中間值,支持任意的精度,如小數(shù)。不會(huì)發(fā)生溢出操作。
只有在將計(jì)算結(jié)果賦值給特定類型的時(shí)候,才會(huì)發(fā)生截?cái)嘁绯龅炔僮鳌?/p>
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; }
|
![solidity智能合約[8]-位運(yùn)算與字面量](/upload/otherpic15/239059.jpg)
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
本文題目:solidity智能合約[8]-位運(yùn)算與字面量-創(chuàng)新互聯(lián)
本文來源:
http://m.jcarcd.cn/article/djdjeo.html