可能是新解法+高精求助

P1001 A+B Problem

ShwStone @ 2021-10-18 20:43:31

#include <iostream>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    while (b) {
        a ^= b;
        b = ((a ^ b) & b) << 1;
    }
    cout << a << endl;
    return 0;
}

这么写是可以过的,就是当有负数的时候要执行将近32次,哪位大佬测一下是这个快还是a+b快。

另外本蒟蒻突发奇想,觉得可以用类似的算法利用bitset写高精度,但是不会输出,各位大佬帮我想一想叭。


by int64 @ 2021-10-18 21:05:23

位运算太毒瘤了 /kk


by YLiF4 @ 2021-11-10 15:58:52

输出的话可以参考double dabble算法


by YLiF4 @ 2021-11-10 15:59:58

bitset实现的高精度其实似乎效率不高(也可能我写的不好)


上一页 |