ZTL — 读写 — int128

· · 个人记录

//读优(signed)
inline __int128 redi_128() {
    __int128 int128_reat_ret_ = 0; 
    short int128_reat_g_ = 1;
    char int128_reat_ch_ = getchar();
    while (int128_reat_ch_<'0' || int128_reat_ch_>'9'){
        if (int128_reat_ch_=='-') int128_reat_g_=-int128_reat_g_;
        int128_reat_ch_=getchar();
    }
    while(int128_reat_ch_>='0'&&int128_reat_ch_<='9'){
        int128_reat_ret_=int128_reat_ret_*10+int128_reat_ch_-'0';
        int128_reat_ch_=getchar();
    }
    return int128_reat_ret_*int128_reat_g_;
}
//写优(unsigned)
//写优(signed)
//使用后者,需要前者
inline void print_u128(__int128 _x_u128_){
    if(_x_u128_ > 9) print_u128(_x_u128_ / 10);
    putchar(_x_u128_%10 + '0');
}
inline void print_128(__int128 _x128_){
    if(_x128_ < 0){
        _x128_ = _x128_ * -1;
        putchar('-');
    }
    unsigned __int128 _xu128_ = _xu128_;
    print_u128(_xu128_);
}
//读优(unsigned)
inline unsigned __int128 u_redi_128() {
    unsigned __int128 int128_reat_ret_ = 0; 
    char int128_reat_ch_ = getchar();
    while (int128_reat_ch_<'0' || int128_reat_ch_>'9') int128_reat_ch_=getchar();
    while(int128_reat_ch_>='0'&&int128_reat_ch_<='9'){
        int128_reat_ret_=int128_reat_ret_*10+int128_reat_ch_-'0';
        int128_reat_ch_=getchar();
    }
    return int128_reat_ret_;
}
//写优(unsigned)