如何将 "b variable" 声明为负数?

How to declare the "b variable" as negative?

我正在尝试将该值声明为负数,但我不太确定该怎么做。

pragma solidity ^0.8.4;

contract Contract {
    int8 public a;
    int8 public b;
    int16 public difference = a - -b;
}

你不能给uint一个负数,你应该使用整数。

您要查找的内容:

contract Contract {
    int8 public a = 3;
    int8 public b = -3;
    int16 public difference = a - -b;
    //If it did not work, change above line to this:
    //int16 public difference = a - b;
}

您可以在等号后分配(负整数)值。

pragma solidity ^0.8;

contract MyContract {
    int8 public a; // default value `0`
    int8 public b = -2;
    
    function foo() external pure returns (int256) {
        int256 negative = -100;
        return negative;
    }
}