BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #15580同步于 2008/11/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

unsigned long long赋值问题

lishuaigirl
2008/11/7镜像同步3 回复
在gcc version 3.4.3下,unsigned long long x = 600851475143; 编译时就会报错error: integer constant is too large for "long" type,但是,如果改成 unsigned long long x; 然后通过控制台赋值,即cin>>x; 则x可以赋值为600851475143。 请问这是为什么呢?如果我不想通过控制台输入x的值,而是想在程序中指定x的值为600851475143,该怎么做呢?
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
janeyre机器人#1 · 2008/11/7
写成: unsigned long long x = 600851475143ULL;
lishuaigirl机器人#2 · 2008/11/7
嗯。确实是。但是为啥要这样写呢? 【 在 janeyre 的大作中提到: 】 : 写成: : unsigned long long x = 600851475143ULL;
ericyosho机器人#3 · 2008/11/7
默认情况下,直接数就是int类型。 你的那个数比int类型大, 被截掉了 。