ACM C++版 高精度模板 __int128

__int128

在很多题目里面要求高精度,但是这种高精度又不是那种非常大的,可能比unsigned longlong

大,所以这个时候去写高精度模板非常不划算,用__int128代替就非常不错;

但是__int128对cin,cout,print,scanf都不支持,要另写输入输出;

模板:

inline __int128 read(){//输入模板 
    __int128 x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-') f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=x*10+ch-'0';
        ch=getchar();
    }
    return x*f;
}
inline void print(__int128 x){//输出模板 
    if(x<0){
        putchar('-');
        x=-x;
    }
    if(x>9) print(x/10);
    putchar(x%10+'0');
}

定义这个完了以后,直接读入输出就可以了;

你可能感兴趣的:(#,高精度)