该用什么类型来存储大数字?(在线等待)

csdnnewman 2003-08-20 01:41:03
vc中int和long int,unsigned long int都是32位,那么,如果我的整型值超过这个上界该用什么类型来存储?
比如:
unsigned long value=4294967297; ///4294967296=2^32
CString csTemp;
csTemp.Format("%u",value);
AfxMessageBox(csTemp);
显示出的结果是1,我用什么样的类型才能存储这样的大数字呢?谢谢!
...全文
66 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
__int64 value=4294967296; ///4294967296=2^32
CString csTemp;
csTemp.Format("%I64d",value);
AfxMessageBox(csTemp);
njypch 2003-08-20
  • 打赏
  • 举报
回复
%I64U
njypch 2003-08-20
  • 打赏
  • 举报
回复
使用I64前缀.
csdnnewman 2003-08-20
  • 打赏
  • 举报
回复
谢谢大家!谢谢he_zhidan!
改成如下:
__int64 value=4294967296; ///4294967296=2^32
CString csTemp;
csTemp.Format("%u",value);
AfxMessageBox(csTemp);
我想,value的值是正确的,可是,经过csTemp.Format("%u",value);转换后输出的结果还是不对,问题一定出在%u这,该用什么格式,请不吝赐教!
ProgrameMan 2003-08-20
  • 打赏
  • 举报
回复
DWORD
icr_mio 2003-08-20
  • 打赏
  • 举报
回复
用字符串,多大都行
  • 打赏
  • 举报
回复
_int64 y;
y = 9999888877776666;
  • 打赏
  • 举报
回复
__int8 nSmall; // Declares 8-bit integer
__int16 nMedium; // Declares 16-bit integer
__int32 nLarge; // Declares 32-bit integer
__int64 nHuge; // Declares 64-bit integer
jasn 2003-08-20
  • 打赏
  • 举报
回复
有64位整形
bluestar 2003-08-20
  • 打赏
  • 举报
回复
double类型
范围1.7E–308 至 1.7E+308
  • 打赏
  • 举报
回复
DWORD
试试
benz600 2003-08-20
  • 打赏
  • 举报
回复
用double

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧