如何输入2个32位无符号整数,将它们相乘并将输出作为C中的64位整数?任何帮助表示赞赏!感谢。
答案 0 :(得分:12)
#include <stdint.h>
uint64_t mul64(uint32_t x, uint32_t y) {
return (uint64_t)x*(uint64_t)y;
}
答案 1 :(得分:6)
首先将两个整数转换为64位,然后进行正常乘法并返回值。
答案 2 :(得分:1)
只需将两个整数中的一个转换为uint64_t
:
uint32_t a, b;
uint64_t c;
/* assign to a and b */
c = (uint64_t) a * b;