整数除算
CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 13/53。
整数値を割り算するには / を使います。両方のオペランドが整数変数の場合、結果は整数になります。つまり、小数部分はゼロ方向に切り捨てられます。非負の値の場合、これは完全なグループの数を数えます。除数をゼロにしてはいけません。
この抜粋の文は、提供されている main 関数内で実行されます。
uint256 items = 23;
uint256 capacity = 6;
console.log(items / capacity);6個からなる完全なグループは、23の中に3つ収まります。整数除算は、3を返します。小数でも、切り上げた4でもありません。ここでは両方のオペランドが型付き変数であるため、整数除算をコンパイル時の有理数リテラル式と混同することを避けられます。
整数除算では、小数部分がゼロ方向に切り捨てられます。
チャレンジ
簡単pieces 個の部品があり、完全なキット 1 個には perKit 個の部品が必要です。作成できる完全なキットの数を出力してください。perKit は 0 より大きい値です。
テストは次の順序で main に引数を渡します:uint256 pieces、uint256 perKit。各テストは新しいコントラクト状態で開始されます。
要求された出力には console.log を使用してください。要求された値のみを 1 行に 1 つずつ出力し、タスクで指定されていない限り、余分なラベルは付けないでください。
自分で試してみよう
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 pieces, uint256 perKit) external view {
// ここに解答を書いてください。
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Solidityプレイグラウンド