如何使用具有boost 128位整数的C ++ max函数

时间:2017-10-23 02:11:39

标签: c++ boost multiprecision int128 boost-multiprecision

如果我有以下代码:

    id   user_id   author   body                          date
    153  1         1        test                          1510212341
    135  4391      4391     Email me at [blocked]         1508374921
    83   4270      4270     I'm back..lol..ho        1474258804
    79   4303      4303     Send me a message if y        1473959358
    76   4362      4362     This place is a morgue.       1472580597  
    68   4358      4358     Smile, have a nice day        1470897755
    57   4344      4344     Can someone rate my bo        1467946896
    55   4338      4338     hey lets chat                 1466792249

如果我在Ubuntu上使用g ++编译,我会收到以下错误:

错误:无法在赋值中将'const boost :: multiprecision :: number>'转换为'int64 {aka long long int}'

比较两个int128_t数字以查看哪一个更大的正确方法是什么?

编辑:我正在使用std :: max。

1 个答案:

答案 0 :(得分:1)

您的代码(缺少分号除外)编译并运行时没有错误。

但是,根据您的编译器消息,我怀疑在

int128_t a = Func_a(); // are you really sure it is int128_t?

左侧不是boost::multiprecision::int128_t,因为编译器说它是int64。