实验1.4 整型的运算
1+1=2,关于这个公式,它直接涉及的就是加法和自然数。它看似简单,却是数字最原始的种子,有了这颗种子,数学这棵树才开始发芽,茁壮成长,直至今天成为人类文明的基石之一。而证明1+1=2,这貌似常识的小问题。它直接引发了后来的皮亚诺五条公理,哥德巴赫猜想,以及计算机二进制的世界“1”与“0”。现在,让我们初步感受solidity里整数的相关运算吧。
实验目的
- 能够正确理解和认识到Int和uint两种整数类型的范围。
- 知道有关整形的简单与特殊的运算。
实验要求
- 编译与部署下面的合约。请给numa与numb变量重新赋值到合适的数字。思考int与uint是默认多少位的整形?
- 请您补充最后一个函数,使得返回的值为输入参数a的b次方。
以下是本实验所使用的测试代码,请复制到remix编辑器中进行测试。
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.6.0;
contract math {
//根据所属类型值域,修改变量numa与numb值
uint8 numa = 256;
int8 numb = 128;
int numc = 255;
function add(uint a , uint b) public pure returns(uint){
return a+b;
}
function subtract(uint a , uint b) public pure returns(uint){
if(a > b) {
return a - b;
} else {
return b - a;
}
}
function multiply(uint a , uint b) public pure returns(uint){
return a*b;
}
function divide(uint a , uint b) public pure returns(uint){
if(b != 0){
return a/b;
}
}
function square(uint a , uint b) public pure returns(uint){
//请你补充代码,使得返回的值为输入参数a的b次方。
}
}
下面本实验的教学视频,可点击进行观看: