qq_43576040 2021-12-15 19:10 采纳率: 66.7%
浏览 39
已结题

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

z=125382821804 //要转换的数

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

我想要达到的结果

咋解决啊?

  • 写回答

1条回答 默认 最新

  • togolife 2021-12-15 19:21
    关注

    数值太大了,int越界了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月23日
  • 已采纳回答 12月15日
  • 创建了问题 12月15日