如何使用固定大小的整数abs和div

时间:2015-08-14 09:19:36

标签: c c99 stdint

在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?

1 个答案:

答案 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>';

诀窍是这些固定大小的整数只是标准整数类型的类型定义