java uint64_把字符串数字转成uint64_t类型

#include

#include

#include

#include

using namespace std;

int main(int argc, char **argv)

{

if (argc < 2)

{

cerr<

return -1;

}

cout<

unsigned long long ullNum1 = 0, ullNum2=0, ullNum3=0, ullNum4=0;

ullNum1 = atoi(argv[1]);

ullNum2 = atol(argv[1]);

ullNum3 = atoll(argv[1]);

ullNum4 = strtoull(argv[1], NULL, 10);

cout<

cout<

cout<

cout<

//这个方法是在网上找的,这里测试下是否管用

stringstream strValue;

strValue<

unsigned long long value;

strValue << value;

cout<

return 0;

}

g++ main.cpp -o transfernum

./transfernum 18446744073709551615  (这个值是2^64-1,即64位的最大值)

输出:

Input Num:18446744073709551615

transfer by atoi: 18446744073709551615     (atoi也正确了?奇怪)

transfer by atol: 9223372036854775807

transfer by atoll: 9223372036854775807

transfer by strtoull: 18446744073709551615

4196992        (使用网上找的方法发现不正确)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值