请问输出这个超级大的数要怎么输出啊?题目如下,一个汉诺塔问题,汉诺塔我会写,但是输出就不会了。

代码如下
#include <bits/stdc++.h>
using namespace std;
const int kMaxDataLen = 10000; // 最大数据位数
class BigInt {
public:
BigInt() { // 初始时赋值为1(f(1)=1)
memset(data, 0, sizeof(data)); // 数组清零
data[0] = 1;
len = 1;
}
void Compute() { // 计算f(n) = 2 * f(n-1) + 1
int carry = 1; // 表达式中的加一,同时表示进位
int sum = 0;
for (int i = 0; i <= len; i++) {
sum = data[i] * 2 + carry;
data[i] = sum % 10;
carry = sum / 10;
}
if (data[len] != 0) { // 更新数据长度
len++;
}
}
void Print() {
for (int i = len - 1; i >= 0; i--) {
printf("%d", data[i]);
}
}
private:
uint8_t data[kMaxDataLen]; // 用数组每一位表示大整数的一位
int len; //数据长度
};
int main() {
BigInt big_number;
int N;
cin >> N;
for (int i = 2; i <= N; i++) {
big_number.Compute();
}
big_number.Print();
}