【发布时间】:2022-12-23 03:28:00
【问题描述】:
谁能解释一下这份合同中的数学是如何运作的?
pragma solidity =0.5.16;
// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))
// range: [0, 2**112 - 1]
// resolution: 1 / 2**112
library UQ112x112 {
uint224 constant Q112 = 2**112;
// encode a uint112 as a UQ112x112
function encode(uint112 y) internal pure returns (uint224 z) {
z = uint224(y) * Q112; //never overflows
}
// divide a UQ112x112 by a uint112, returning a UQ112x112
function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {
z = x / uint224(y);
}
}
我无法理解这两个函数如何帮助分数。
谢谢你。
【问题讨论】:
-
有趣的问题,我深入挖掘并发现 this answer 对理解这个库非常有用。