ZTL — 读写 — int128
zimindaada · · 个人记录
//读优(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)