实验1.4 整型的运算

1+1=2,关于这个公式,它直接涉及的就是加法和自然数。它看似简单,却是数字最原始的种子,有了这颗种子,数学这棵树才开始发芽,茁壮成长,直至今天成为人类文明的基石之一。而证明1+1=2,这貌似常识的小问题。它直接引发了后来的皮亚诺五条公理,哥德巴赫猜想,以及计算机二进制的世界“1”与“0”。现在,让我们初步感受solidity里整数的相关运算吧。

实验目的

  1. 能够正确理解和认识到Int和uint两种整数类型的范围。
  2. 知道有关整形的简单与特殊的运算。

实验要求

  1. 编译与部署下面的合约。请给numa与numb变量重新赋值到合适的数字。思考int与uint是默认多少位的整形?
  2. 请您补充最后一个函数,使得返回的值为输入参数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次方。
    }
}

下面本实验的教学视频,可点击进行观看: