在学习编程语言的时候,我喜欢用具体的例子来学习。
Solidity 常用的数据类型有:
无符号整数: uint
uint 无符号数据类型, 指其值不能是负数,在编程过程中,uint默认是uint256,其实还可以用uint8,uint16,uint32等,他们表示整数的位数不一样。
如: Uint8的长度为 2的8次方 减一的 10进制范围: 也就是0~ 255 的范围。
uint16 表示 2的16次方 减一的 10进制范围: 也就是: 0~ 65535 的范围
其他的,以此类推
有符号整数:int
int 表示有符号的数据类型,可以表示符数,如: int i = -1; int n = 2; 这么表示。 int默认表示的是int256。其实还可以用uint8,uint16,uint32等,他们表示整数的位数不一样。
如: int8 可表示的范围是: 负的(2的7次方)到 正的(2的7次方+1) ,-128 ~ 127
int16 表示的范围是: -2^15 ~ (2^15-1), 也就是: -32768 ~ 32767
并且 int 与uint 支持 +,-,*,/(加减乘除),另外两个**连起来,表示平方,
如 2**3,的值位8
下面我们用例子来说明一下solidity 的操作符
pragma solidity ^0.4.26;
contract HelloWorld{
string Myname = "hello word";
function getName() public view returns(string){
return Myname;
}
//加法
function Sum() public view returns(int)
{
int nAdd1 = 100;
int nAdd2 = 200;
return nAdd2 + nAdd1;
}
// 减法
function Sub() public view returns(int)
{
int nSub1 = 100;
int nSub2 = 200;
return nSub2 + nSub1;
}
// 乘法
function Multi() public view returns(uint)
{
uint nMulti1 = 9;
uint nMulti2 = 8;
return nMulti1 * nMulti2;
}
// 除法
function division(int a, int b) public view returns(int)
{
return a/b;
}
}
然后我们用remix,部署一下,然后看下执行结果:
这样,solidity的整型与常见的操作符,就学会了。