C++ 用_itoa_s将十进制转换为四进制数,存储到字符数组时,高位显示缺失

z=125382821804 //要转换的数

char nAr[100] ;
_itoa_s(z, nAr,20, 4);
然后输出数组结果是 301121200132230
######
但是十进制数125382821804转换为四进制应该是1310301121200132230,前面高位的1310都没了,为什么?
应该不是超位的问题,总共算上空白符是20,就算给两倍的位数也还是不显示高位的。

我想要达到的结果

咋解决啊?

数值太大了,int越界了