首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合成uint512 2 uint256

合成uint512 2 uint256
EN

Ethereum用户
提问于 2019-05-27 22:27:09
回答 1查看 681关注 0票数 4

如果我试图制作一个合成的无符号integer_512,但Ethereum中支持的最大整数是u256,那么如何将2 u256组合成一个坚实的u512?

如果我也在寻找像gt,lt,eq,read/show/tostring这样的重载操作符,作为可映射的键,在这个联合数据类型上--所有存在于基本数据类型上的函数,在哪里有一个很好的模板来正确地完成或者开始呢?

谢谢

EN

回答 1

Ethereum用户

发布于 2019-05-28 07:34:30

如果您只对这三个比较运算符感兴趣,那么很容易:

代码语言:javascript
复制
struct uint512 {
    uint256 hi;
    uint256 lo;
}

function eq(uint512 x, uint512 y) internal pure returns (bool) {
    return x.hi == y.hi && x.lo == y.lo;
}

function lt(uint512 x, uint512 y) internal pure returns (bool) {
    return x.hi < y.hi || (x.hi == y.hi && x.lo < y.lo);
}

function gt(uint512 x, uint512 y) internal pure returns (bool) {
    return x.hi > y.hi || (x.hi == y.hi && x.lo > y.lo);
}
票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/71162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档