代码拉取完成,页面将自动刷新
pragma solidity ^0.4.25;
library LibConverter {
function toUint128(uint256 value) internal pure returns (uint128) {
require(value < 2**128, "SafeCast: can not fit in 128 bits");
return uint128(value);
}
function toUint8(uint256 value) internal pure returns (uint8) {
require(value < 2**8, "SafeCast: can not fit in 8 bits");
return uint8(value);
}
function uintToBytes(uint v) internal pure returns (bytes memory) {
uint maxlength = 100;
bytes memory reversed = new bytes(maxlength);
uint i = 0;
while (v != 0) {
uint8 remainder = uint8(v % 10);
v = v / 10;
reversed[i % maxlength] = byte(48 + remainder);
i++;
}
bytes memory s = new bytes(i + 1);
for (uint j = 1; j <= i % maxlength; j++) {
s[j-1] = reversed[i - j];
}
return bytes(s);
}
function bytesToInt(bytes memory b) internal pure returns (int result) {
uint i = 0;
uint tr = 0;
result = 0;
bool sign = false;
if(b[i] == "-") {
sign = true;
i++;
} else if(b[i] == "+") {
i++;
}
while(uint8(b[b.length - tr - 1]) == 0x00) {
tr++;
}
for (;i < b.length - tr; i++) {
uint8 c = uint8(b[i]);
if (c >= 48 && c <= 57) {
result *= 10;
result = result + int(c - 48);
}
}
if(sign) {
result *= -1;
}
}
function intToBytes(int v) internal pure returns (bytes memory) {
uint maxlength = 100;
bytes memory reversed = new bytes(maxlength);
uint i = 0;
uint x;
if(v < 0)
x = uint(-v);
else
x = uint(v);
while (x != 0) {
uint8 remainder = uint8(x % 10);
x = x / 10;
reversed[i % maxlength] = byte(48 + remainder);
i++;
}
if(v < 0)
reversed[(i++) % maxlength] = "-";
bytes memory s = new bytes(i+1);
for (uint j = 1; j <= i % maxlength; j++) {
s[j - 1] = reversed[i - j];
}
return bytes(s);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。