深入解析C语言中常数的数据类型
深入解析C语言中常数的数据类型
发布时间:2016-12-28 来源:查字典编辑
摘要:废话不多说,上代码复制代码代码如下://编译环境:codeblocks+gcc#include#includeintFun(){uint64...

废话不多说,上代码

复制代码 代码如下:

//编译环境:codeblocks+gcc

#include <stdio.h>

#include <stdint.h>

int Fun()

{

uint64_t y;

uint32_t x1, x2;

//y = 3000 * 24000000 / 1000;//常数默认作为32位数据,临时运算结果也是32位,溢出错误

//y = (uint64_t)3000 * (uint64_t)24000000 / 1000;//常数强制转换为64位,运算正确

y = 3000ULL * 24000000ULL / 1000ULL;//常数使用64位格式,运算正确

printf("0x%llXn", y);//输出

x1 = (uint32_t)(y & 0xFFFFFFFF);

x2 = (uint32_t)(y >> 32);

printf("0x%X,0x%X n", x1, x2);//输出结果

}

int main()

{

Fun();

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C语言学习
热门C语言学习
编程开发子分类