【零依赖实现国密算法C语言版】国密SM2之大数比较
约 166 字小于 1 分钟
2023-05-13
回顾一下大数的定义
typedef uint64_t gm_bn_t[8];数组索引从低到高分别存放的大数的低到高位,那么比较的时候应该是从高位索引开始,具体实现如下:
int gm_bn_cmp(const gm_bn_t a, const gm_bn_t b) {
int i;
for (i = 7; i >= 0; i--) {
if (a[i] > b[i])
return 1;
if (a[i] < b[i])
return -1;
}
return 0;
}当a等于b时返回0
当a大于b时返回1
当a小于b时返回-1