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为打印长整型,如果打印整型,编译报错
本文深入探讨了int32_t类型与整型、长整型进行乘法运算的区别,通过实例展示了结果如何因数据类型不同而发生变化,并强调了打印时使用合适的数据类型格式的重要性。
412

被折叠的 条评论
为什么被折叠?



