现在的位置: 首页 > 综合 > 正文

C++学习随笔之六 数据类型转换

2017年09月11日 ⁄ 综合 ⁄ 共 265字 ⁄ 字号 评论关闭

1、关于int32_t类型与整型和长整型的乘法

uint32_t a = 19609146;
int64_t c = a * 512L;
printf("aa = %d,bb = %ld,cc = %ld",a * 512,c,a * 512L);

结果为

aa = 1449948160,bb = 10039882752,cc = 10039882752

分析:

int32_t 与512乘,结果为整型,超过int32_t能表示的部分会被截断,即乘积会与int32_t的最大值取余

int32_t与512L相乘,结果为长整型,所以结果能正确表示

打印时,%ld为打印长整型,如果打印整型,编译报错

抱歉!评论已关闭.