固定大小字节数组

固定大小字节数组可以通过bytes1,bytes2,bytes3,...,bytes32来进行声明。PS:byte的别名就是bytes1。

bytes1只能存储1个字节,也就是二进制8bit的内容。

bytes2只能存储2个字节,也就是二进制16bit的内容。

bytes3只能存储3个字节,也就是二进制24bit的内容。

...

bytes32只能存储32个字节,也就是二进制256bit的内容。

逻辑运算符

<=    <   ==    !=    >=   >

pragma solidity ^0.4.4;contract Test {bytes1 b1 = 0x6a;  // a ->0110 1010bytes2 b2 = 0x69; // i  ->0110 1001function test1() constant returns (bool) {return b1 <= b2;  //false}function test2() constant returns (bool) {return b1 < b2;  //false}function test3() constant returns (bool) {return b1 == b2;  //false}function test4() constant returns (bool) {return b1 != b2;  //true}function test5() constant returns (bool) {return b1 >= b2;  //true}function test6() constant returns (bool) {return b1 > b2;  //true}}

位运算符

& 与,| 或,^ 异或,~ 非,<< 左移,>> 右移

pragma solidity ^0.4.4;contract Test {bytes1 b1 = 0x6c;  // l ->0110 1100bytes1 b2 = 0x69; // i  ->0110 1001function test1() constant returns (bytes1) {return b1 & b2;  // 0x68}function test2() constant returns (bytes1) {return b1 | b2;  //0x6d}function test3() constant returns (bytes1) {return b1 ^ b2;  //0x05}function test4() constant returns (bytes1) {return b1 << 2;  //0xb0}function test5() constant returns (bytes1) {return b1 >> 2;  //0x1b}}

索引访问

pragma solidity ^0.4.4;contract Test {//0x 6c 69 79 75 65 63 68 75 6e -> liyuechunbytes9 b1 = 0x6c6979756563;  // l ->0110 1100function readIndex() constant returns(byte){return b1[2]; //访问第三个位置(数组从零开始),数据为0x79。}
}

成员函数

.length 返回字节的个数。(只读)

pragma solidity ^0.4.4;contract Test {bytes9 public g = 0x232c23b43c;function setBytesLength(uint length) {// 报错g.length = length; }}

固定大小字节数组两个不可变:长度不可变,内部字节不可变。

Solidify实现一个智能合约7(固定大小字节数组)相关推荐

  1. Solidify实现一个智能合约2(属性和行为的访问权限)

    属性的访问权限 属性:状态变量 属性的权限有三种:public internal private pragma solidity ^0.4.4;/* 属性的权限有三种:public internal ...

  2. Solidify实现一个智能合约9(数组和string之间的转换关系)

    固定大小字节数组之间的转换 固定大小字节数组,我们可以通过bytes1~32来进行声明,固定大小字节数组的长度不可变,内容不可修改. pragma solidity ^0.4.4; contract ...

  3. Solidify实现一个智能合约10(一维数组和二维数组)

    固定长度的数组 固定长度类型数组的声明及其通过length方法获取数组长度求和. pragma solidity ^0.4.4; /* 数组一旦创建,长度不可变 但里面的内容可变 */ contrac ...

  4. Solidify实现一个智能合约12(字典/映射)

    语法 mapping(_keyType => _ValueType) 字典/映射其实就是一个一对一键值对存储关系. 举个例子:{age:18,stuId:10003,name:"His ...

  5. Solidify实现一个智能合约16(创建一个简单的代币)

    创建一个工程,新建一个EncryptedToken合约. 代码如下: pragma solidity ^0.4.4;contract EncryptedToken {uint INITIAL_SUPP ...

  6. Solidify实现一个智能合约17(创建BLC币)

    创建文件夹:mkdir BLC 进入后执行:truffle init 再执行:npm init,一直回车 再执行:npm install zeppelin-solidity hisee@liu:/me ...

  7. Solidify实现一个智能合约3(单继承与多继承)

    单继承 方法/函数的继承 代码示例 pragma solidity ^0.4.4;contract Animal {uint _weight;uint private _height;uint int ...

  8. Solidify实现一个智能合约14(元组)

    定义 元组使用小括号,只需要在括号中添加元素,并使用逗号隔开即可. PS:元组中各个元素的类型可以不一样,但数组中的元素必须一样. 示例1 pragma solidity ^0.4.4; contra ...

  9. Solidify实现一个智能合约5(值类型和引用类型的传递)

    值传递 代码示例: pragma solidity ^0.4.4;contract Person {uint _age;function Person(uint age) {_age = age;}f ...

最新文章

  1. R语言使用fs包的dir_create函数在指定路径下创建新的文件夹、使用file_create函数在指定文件夹下创建文件
  2. Oracle闪回技术(笔记)
  3. MySQL优化union查询
  4. mxGraph实现按住ctrl键盘拖动图形实现复制图形功能
  5. 批处理引擎MapReduce程序设计
  6. 最新SOCKS5代理服务器 socks5代理ip地址
  7. 解决Chrome浏览器不能访问https网站的问题 阿星小栈
  8. 滴滴二面:Kafka是如何读写副本消息的?
  9. CVTE嵌入式应用开发长期实习生线上笔试+线上面试(一面)
  10. 电脑开机显示器不显示BIOS界面,直接进入系统解决办法
  11. 小程序发送短信验证码完整工具
  12. OneDrive教育版注册和登录
  13. Unity TTS文字转语音 朗读 基于SpeechLib
  14. LCS算法:最长公共子序列
  15. 关于socket中的send函数
  16. 频域分析中的三频段理论
  17. 淘宝爬虫实战(附代码和数据集)——今天你脱发了吗?
  18. 【FlutterFlame 游戏 - 壹】开启新世界的大门
  19. 长沙周边最美露营基地:安化云台山风景区星空露营公园
  20. [SLAM] 传感器总结

热门文章

  1. 华为路由器——DHCP接口地址池配置
  2. 微信小程序 - this.triggerEvent() 组件通信
  3. 爱因斯坦谜题:谁养鱼(C#版)续
  4. FIR滤波器文献笔记
  5. 基于Easy-poi实现多Sheet页以及动态表头的excel表格的导出
  6. 在iTunes中安装ipad应用程序图文详细步骤
  7. Rabbitmq基本原理
  8. Google Android SDK开发范例大全(第3版)
  9. Golang gorm 常用新增方法
  10. 路由器的基本配置(Cisco Packet Tracer )