中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

solidity智能合約[7]-整型與運算

發布時間:2020-04-15 22:47:10 來源:網絡 閱讀:457 作者:jonson_jackson 欄目:開發技術

整型變量

整數是現實中處理最多的單位,在solidity中的整數類型有int和uint,int類型可以存儲負數,uint類型只能夠存儲非負數。
int類型:int8,int16,int24,int32…int256
uint類型:uint8,uint16,uint24,uint32…uint256

后面的數字代表的是計算機的最小存儲單位:位。 1個字節代表8位。類型以一個字節遞增,最大到256位,也就是32個字節。
int == int256
uint == uint256

整型運算

1、加
2、減
3、乘
4、除
5、取余數
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、取余數
  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;
}

整型溢出

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

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

整型在底層的存儲方式

計算機最小的存儲單位為,存儲0或者1。 下面的圖片描述了以位標示的二進制代碼101轉換為10進制后的計算方式。

solidity智能合約[7]-整型與運算

底層存儲方式

以此類推,可知道,uint8在內存中占8位,最大值為全部都存儲1的時候,轉換為10進制為255。

solidity智能合約[7]-整型與運算

uint8最大值

當加一之后,
1111 1111
變為了
10000 0000
但是只能存儲8位,所以截斷之后,變為了
0000 0000

所以返回結果為0

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

  • 版權聲明: 本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協議 許可協議。轉載請注明出處!

solidity智能合約[7]-整型與運算

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西乌| 闽清县| 察隅县| 上林县| 筠连县| 新源县| 奈曼旗| 盘锦市| 右玉县| 平陆县| 沐川县| 宁德市| 南宫市| 蓬溪县| 沂源县| 建昌县| 东兴市| 阿图什市| 岳普湖县| 厦门市| 美姑县| 康马县| 邯郸县| 星子县| 沅陵县| 贡嘎县| 仲巴县| 肇州县| 南汇区| 任丘市| 鹿泉市| 聂荣县| 仙桃市| 长子县| 祁连县| 马关县| 茂名市| 隆化县| 金乡县| 正阳县| 达孜县|