首页 > 解决方案 > 使用 % 缩短一个整数

问题描述

我刚刚看到我们可以使用 % 来缩短整数,但我不明白这怎么可能。

在示例中

uint dnaDigits = 16; //(uint = insignet int)
uint dnaModulus = 10 ** dnaDigits;
 
return rand % dnaModulus; //with rand = hash256

标签: solidity

解决方案


百分号是模运算

一个数除以另一个数后,模运算返回除法的余数或有符号余数

一个简单的例子,其中rand7 和dnaModulus3... 可被 3 整除的最大整数(小于或等于 7)(到整数结果)是 6...所以这使得提醒 1(6 和 7 之间的差) .


在编程中,它通常用于验证一个数字是奇数还是偶数。

if (number % 2 == 0) {
  // number is even
}

或者是否能被 10 整除

if (number % 10 == 0) {
  // is 0, 10, 20, 30, 40, 50, ...
}

推荐阅读