solidity智能合約[9]-字節(jié)數(shù)組與運(yùn)算-創(chuàng)新互聯(lián)

byte類型

有byte bytes1 bytes2 … bytes32
特殊的有byte == bytes1

為城東等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及城東網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、城東網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

后面的數(shù)字代表占了多少字節(jié)。1個(gè)字節(jié)在內(nèi)存中占了8位

性質(zhì)

固定字節(jié)數(shù)組不能修改長(zhǎng)度和內(nèi)容

字節(jié)一般用16進(jìn)制來(lái)存儲(chǔ)

16進(jìn)制中的1個(gè)數(shù)字代表占了4位。

1
2
3
4
5
6
7
bytes1 public num1 = 0x6a;        //轉(zhuǎn)換為10進(jìn)制:106
bytes2 public num2 = 0x6a6f;     //轉(zhuǎn)換為10進(jìn)制:27247

bytes6 public num3 = 0x6a6f6e736f6e;

bytes1 public a = 0x6a;//轉(zhuǎn)換為2進(jìn)制:0110   1010    
bytes1 public b = 0x6f;//轉(zhuǎn)換為2進(jìn)制:0110   1111

字節(jié)可以有長(zhǎng)度屬性

1
2
3
function getlength() view public returns(uint,uint,uint){
   return (num1.length,num2.length,num3.length);
}

字節(jié)可以比較大小

不同類型的字節(jié)也可以比較大小

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
function  test1()  public view returns(bool){
   return  a>b;
}

function  test2() public view returns(bool){
   return  a>=b;
}

function  test3()  public  view returns(bool){
   return  a<b;
}
   function  test4() public   view returns(bool){
   return  a<=b;
}

function  test5() public view returns(bool){
   return  a==b;
}

   function  test6() public view returns(bool){
   return  a!=b;
}

function  test7() public view returns(bool){
   return num2 >num1;
}

字節(jié)可以進(jìn)行位運(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
// 0110 1010
// 0110 1111

//&0110 1010   106    0x6a
//|0110 1111   111    0x6f
//^0000 0101   5      0x05
//~1001 0101   149    0x95
//<1101 0100   212    0xd4
//>0011 0101   53     0x35
function  weiTest1() public view returns(bytes1){
   return a & b;
}
  function  weiTest2() public view returns(bytes1){
   return a | b;
}
  function  weiTest3() public view returns(bytes1){
   return a ^ b;
}
  function  weiTest4() public view returns(bytes1){
   return ~a;
}

  function  weiTest5() public view returns(bytes1){
   return a<<1;
}
  function  weiTest6() public view returns(bytes1){
   return a >>1;
}

完整代碼

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
pragma solidity ^0.4.23;


contract  bytesTest{
   //0x6a6f6e736f6e
   bytes1 public num1 = 0x6a;        //106
   bytes2 public num2 = 0x6a6f;     //27247

   bytes6 public num3 = 0x6a6f6e736f6e;

    bytes1 public a = 0x6a;//0110   1010      106
    bytes1 public b = 0x6f;//0110   1111      111



   function getlength() view public returns(uint,uint,uint){
       return (num1.length,num2.length,num3.length);
   }

   // function changeLength()  public {
   //     num1.length = 9;
   // }

   function  test1()  public view returns(bool){
       return  a>b;
   }

    function  test2() public view returns(bool){
       return  a>=b;
   }

    function  test3()  public  view returns(bool){
       return  a<b;
   }
       function  test4() public   view returns(bool){
       return  a<=b;
   }

   function  test5() public view returns(bool){
       return  a==b;
   }

       function  test6() public view returns(bool){
       return  a!=b;
   }

    function  test7() public view returns(bool){
       return num2 >num1;
   }


   // 0110 1010
   // 0110 1111

   //&0110 1010   106    0x6a
   //|0110 1111   111    0x6f
   //^0000 0101   5      0x05
   //~1001 0101   149    0x95
   //<1101 0100   212    0xd4
   //>0011 0101   53     0x35
    function  weiTest1() public view returns(bytes1){
       return a & b;
   }
      function  weiTest2() public view returns(bytes1){
       return a | b;
   }
      function  weiTest3() public view returns(bytes1){
       return a ^ b;
   }
      function  weiTest4() public view returns(bytes1){
       return ~a;
   }

      function  weiTest5() public view returns(bytes1){
       return a<<1;
    }
      function  weiTest6() public view returns(bytes1){
       return a >>1;
   }

}
  • 本文鏈接: https://dreamerjonson.com/2018/11/14/solidity-9/

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

solidity智能合約[9]-字節(jié)數(shù)組與運(yùn)算

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(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)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。

名稱欄目:solidity智能合約[9]-字節(jié)數(shù)組與運(yùn)算-創(chuàng)新互聯(lián)
本文路徑:http://muchs.cn/article2/coigic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、ChatGPT微信小程序、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(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)

成都seo排名網(wǎng)站優(yōu)化