最近看了这个文章 https://learnblockchain.cn/article/3112 准备优化下input信息
但是有一个问题 在压缩uint数字 -> bytes以后 数字如何还原? 比如: 数字:3000 --> bytes:0x0000000000000000000000000000000000000000000000000000000000000bb8
传入合约的时候 使用Bytes数值类型 传入0x0bb8
function to_uint(bytes memory input) public pure returns(uint u) {
assembly {
u := mload(
add(0x20,input)
)
}
}
如果使用这段代码 传入值就会变成 0x0bb8000000000000000000000000000000000000000000000000000000000000 值就变为:5300541194335152988749892502228755547482451690626856874364818603877859328000
这个应该如何向左侧补充0??