在C99中,我们有固定大小的整数类型,在 stdint.h 中定义。 在 stdlib.h 中,我们有 abs 和 div 函数,这些函数在 int 上运行,以及它们的< em> long int / long long int 对应 labs , llabs , ldiv , lldiv 。
由于int / long / long long的大小因平台和使用的编译器而异,我想知道在使用int16_t,int32_t等固定大小的整数时如何选择 abs / div 的正确变体的int64_t?
答案 0 :(得分:1)
假设您能够使用C11编译器,您可以使用通用宏功能并定义包含固定大小整数的包装器。示例可能如下所示:
var row = '<tr id="product' + value.ID + '"><td>' + value.name + '</td>'
+ '<td class="text-right"><input class="form-control" type="number" value="1" min="0" />' + value.unit + '</td>'
+ '<td class="text-right">' + value.price + ' ' + value.currency + '</td></tr>';
诀窍是这些固定大小的整数只是标准整数类型的类型定义。