整數(shù)是現(xiàn)實(shí)中處理最多的單位,在solidity中的整數(shù)類型有int和uint,int類型可以存儲負(fù)數(shù),uint類型只能夠存儲非負(fù)數(shù)。
int類型:int8,int16,int24,int32…int256
uint類型:uint8,uint16,uint24,uint32…uint256
后面的數(shù)字代表的是計(jì)算機(jī)的最小存儲單位:位。 1個(gè)字節(jié)代表8位。類型以一個(gè)字節(jié)遞增,大到256位,也就是32個(gè)字節(jié)。
int == int256
uint == uint256
1、加
2、減
3、乘
4、除
5、取余數(shù)
6、平方
1 | //1、加 |
整數(shù)如果處理不當(dāng),會發(fā)生溢出效應(yīng)。如下面的函數(shù)overflow。
函數(shù)的功能為執(zhí)行+1的操作。 當(dāng)傳遞4、返回5. 傳遞200,返回201,但是當(dāng)傳遞255的時(shí)候,會返回0,這是由于發(fā)生了溢出。
要理解溢出的本質(zhì),需要明白整型在計(jì)算機(jī)中的存儲方式。
1 | // 1111 1111 |
計(jì)算機(jī)最小的存儲單位為位
,存儲0或者1。 下面的圖片描述了以位標(biāo)示的二進(jìn)制代碼101轉(zhuǎn)換為10進(jìn)制后的計(jì)算方式。
底層存儲方式
以此類推,可知道,uint8在內(nèi)存中占8位,大值為全部都存儲1的時(shí)候,轉(zhuǎn)換為10進(jìn)制為255。
uint8大值
當(dāng)加一之后,1111 1111
變?yōu)榱?br/>10000 0000
但是只能存儲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)載請注明出處!
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。
當(dāng)前標(biāo)題:solidity智能合約[7]-整型與運(yùn)算-創(chuàng)新互聯(lián)
新聞來源:http://vcdvsql.cn/article10/epogo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、軟件開發(fā)、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容