Solidify实现一个智能合约7(固定大小字节数组)
固定大小字节数组
固定大小字节数组可以通过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(固定大小字节数组)相关推荐
- Solidify实现一个智能合约2(属性和行为的访问权限)
属性的访问权限 属性:状态变量 属性的权限有三种:public internal private pragma solidity ^0.4.4;/* 属性的权限有三种:public internal ...
- Solidify实现一个智能合约9(数组和string之间的转换关系)
固定大小字节数组之间的转换 固定大小字节数组,我们可以通过bytes1~32来进行声明,固定大小字节数组的长度不可变,内容不可修改. pragma solidity ^0.4.4; contract ...
- Solidify实现一个智能合约10(一维数组和二维数组)
固定长度的数组 固定长度类型数组的声明及其通过length方法获取数组长度求和. pragma solidity ^0.4.4; /* 数组一旦创建,长度不可变 但里面的内容可变 */ contrac ...
- Solidify实现一个智能合约12(字典/映射)
语法 mapping(_keyType => _ValueType) 字典/映射其实就是一个一对一键值对存储关系. 举个例子:{age:18,stuId:10003,name:"His ...
- Solidify实现一个智能合约16(创建一个简单的代币)
创建一个工程,新建一个EncryptedToken合约. 代码如下: pragma solidity ^0.4.4;contract EncryptedToken {uint INITIAL_SUPP ...
- Solidify实现一个智能合约17(创建BLC币)
创建文件夹:mkdir BLC 进入后执行:truffle init 再执行:npm init,一直回车 再执行:npm install zeppelin-solidity hisee@liu:/me ...
- Solidify实现一个智能合约3(单继承与多继承)
单继承 方法/函数的继承 代码示例 pragma solidity ^0.4.4;contract Animal {uint _weight;uint private _height;uint int ...
- Solidify实现一个智能合约14(元组)
定义 元组使用小括号,只需要在括号中添加元素,并使用逗号隔开即可. PS:元组中各个元素的类型可以不一样,但数组中的元素必须一样. 示例1 pragma solidity ^0.4.4; contra ...
- Solidify实现一个智能合约5(值类型和引用类型的传递)
值传递 代码示例: pragma solidity ^0.4.4;contract Person {uint _age;function Person(uint age) {_age = age;}f ...
最新文章
- R语言使用fs包的dir_create函数在指定路径下创建新的文件夹、使用file_create函数在指定文件夹下创建文件
- Oracle闪回技术(笔记)
- MySQL优化union查询
- mxGraph实现按住ctrl键盘拖动图形实现复制图形功能
- 批处理引擎MapReduce程序设计
- 最新SOCKS5代理服务器 socks5代理ip地址
- 解决Chrome浏览器不能访问https网站的问题 阿星小栈
- 滴滴二面:Kafka是如何读写副本消息的?
- CVTE嵌入式应用开发长期实习生线上笔试+线上面试(一面)
- 电脑开机显示器不显示BIOS界面,直接进入系统解决办法
- 小程序发送短信验证码完整工具
- OneDrive教育版注册和登录
- Unity TTS文字转语音 朗读 基于SpeechLib
- LCS算法:最长公共子序列
- 关于socket中的send函数
- 频域分析中的三频段理论
- 淘宝爬虫实战(附代码和数据集)——今天你脱发了吗?
- 【FlutterFlame 游戏 - 壹】开启新世界的大门
- 长沙周边最美露营基地:安化云台山风景区星空露营公园
- [SLAM] 传感器总结