亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

兰西县| 齐河县| 金秀| 陇南市| 廉江市| 乐平市| 蒙城县| 哈尔滨市| 枣强县| 蓝田县| 唐河县| 定兴县| 景德镇市| 分宜县| 绥江县| 阜新| 岢岚县| 会同县| 柞水县| 黄浦区| 龙井市| 曲靖市| 德格县| 榆中县| 乐亭县| 哈密市| 栾川县| 赤城县| 察隅县| 溆浦县| 西盟| 忻城县| 榆树市| 白沙| 永嘉县| 白水县| 栖霞市| 平昌县| 永清县| 景德镇市| 罗源县|