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

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日

悬赏问题

  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了
  • ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题
  • ¥20 易康econgnition精度验证
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能