solidity智能合約[7]-整型與運(yùn)算-創(chuàng)新互聯(lián)

整型變量

整數(shù)是現(xiàn)實(shí)中處理最多的單位,在solidity中的整數(shù)類(lèi)型有int和uint,int類(lèi)型可以存儲(chǔ)負(fù)數(shù),uint類(lèi)型只能夠存儲(chǔ)非負(fù)數(shù)。
int類(lèi)型:int8,int16,int24,int32…int256
uint類(lèi)型:uint8,uint16,uint24,uint32…uint256

創(chuàng)新互聯(lián)建站10多年成都定制網(wǎng)頁(yè)設(shè)計(jì)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),成都定制網(wǎng)頁(yè)設(shè)計(jì)及推廣,對(duì)水泥攪拌車(chē)等多個(gè)方面擁有多年設(shè)計(jì)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。

后面的數(shù)字代表的是計(jì)算機(jī)的最小存儲(chǔ)單位:位。 1個(gè)字節(jié)代表8位。類(lèi)型以一個(gè)字節(jié)遞增,大到256位,也就是32個(gè)字節(jié)。
int == int256
uint == uint256

整型運(yùn)算

1、加
2、減
3、乘
4、除
5、取余數(shù)
6、平方

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//1、加
function add(uint a,uint b) public pure returns(uint){
    return a+b;
}
//2、減
function sub(uint a,uint b) public pure returns(uint){
    return a-b;
}
//3、乘
 function cheng(uint a,uint b) public pure returns(uint){
    return a*b;
}
//4、除
function chu(uint a,uint b) public pure returns(uint){
    return a/b;
}
//5、取余數(shù)
  function yu(uint a,uint b) public pure returns(uint){
    return a%b;
}
//6、平方
function pingfang(uint a,uint b) public pure returns(uint){
    return a**b;
}

整型溢出

整數(shù)如果處理不當(dāng),會(huì)發(fā)生溢出效應(yīng)。如下面的函數(shù)overflow。
函數(shù)的功能為執(zhí)行+1的操作。 當(dāng)傳遞4、返回5. 傳遞200,返回201,但是當(dāng)傳遞255的時(shí)候,會(huì)返回0,這是由于發(fā)生了溢出。
要理解溢出的本質(zhì),需要明白整型在計(jì)算機(jī)中的存儲(chǔ)方式。

1
2
3
4
5
// 1111 1111
//10000 0000
function overflow(uint8 a) public pure returns(uint8){
   return a +1;
}

整型在底層的存儲(chǔ)方式

計(jì)算機(jī)最小的存儲(chǔ)單位為,存儲(chǔ)0或者1。 下面的圖片描述了以位標(biāo)示的二進(jìn)制代碼101轉(zhuǎn)換為10進(jìn)制后的計(jì)算方式。

solidity智能合約[7]-整型與運(yùn)算

底層存儲(chǔ)方式

以此類(lèi)推,可知道,uint8在內(nèi)存中占8位,大值為全部都存儲(chǔ)1的時(shí)候,轉(zhuǎn)換為10進(jìn)制為255。

solidity智能合約[7]-整型與運(yùn)算

uint8大值

當(dāng)加一之后,
1111 1111
變?yōu)榱?br/>10000 0000
但是只能存儲(chǔ)8位,所以截?cái)嘀?,變?yōu)榱?br/>0000 0000

所以返回結(jié)果為0

  • 本文鏈接: https://dreamerjonson.com/2018/11/10/solidity-7/

  • 版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協(xié)議 許可協(xié)議。轉(zhuǎn)載請(qǐng)注明出處!

solidity智能合約[7]-整型與運(yùn)算

創(chuàng)新互聯(lián)www.cdcxhl.cn,專(zhuān)業(yè)提供香港、美國(guó)云服務(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)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。

當(dāng)前標(biāo)題:solidity智能合約[7]-整型與運(yùn)算-創(chuàng)新互聯(lián)
新聞來(lái)源:http://www.muchs.cn/article10/epogo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)軟件開(kāi)發(fā)、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)