问题标题: C++:__int128

0
0
已解决
蔡辰夕
蔡辰夕
新手启示者
新手启示者

__int128是个非常长的整型!!!

可是用cin,cout,printf……都会报错。。。。。。

于是只能手写输入输出了!大佬有没有人知道有没有其他方法!

#include<bits/stdc++.h>
using namespace std;
__int128 read(){
	int s=0,w=1;
    char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
    while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
    return s*w;
}
inline void write(__int128 x){
	if(x<0) {
        putchar('-');
        x = -x;
    }
    if(x>9) write(x / 10);
    putchar(x % 10 + '0');
}
int main(){
	__int128 a=read();
	write(a);
}

 

蔡辰夕在2023-08-09 12:02:30追加了内容
#include<bits/stdc++.h>
using namespace std;
enum __int128caozuo{
	in=1,out=2
};
__int128 operator>>(__int128caozuo a,__int128&x){
	int s=0,w=1;
    char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
    while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
    x=s*w;
    return s*w;
}
inline void operator<<(__int128caozuo a,__int128 x){
	if(x<0) {
        putchar('-');
        x = -x;
    }
    if(x>9) out<<x/10;
    putchar(x % 10 + '0');
}

int main(){
	__int128 a;
	in>>a;
	out<<a;
}

有其他办法吗???

蔡辰夕在2023-08-15 09:59:09追加了内容

ding

蔡辰夕在2023-08-15 09:59:14追加了内容

ding


0
我要回答