长整数的加减,怎样解决啊
有一个结构体,保存的是一个数据大小,结构体里的两项分别是高4个字节和低4个字节的大小,现要将两次数据的大小相减,然后计算它的大小,怎样实现啊?
[解决办法]
可以用64位的数据来存储。如果一定要自己实现的话就看是有符号的数还是无符号的数,无符号的数减法就按一般的减法来进行,先用低32位减去低32位不够的再向高32位接位,有符号的话就要先算出减数相反数的补码再相加。
[解决办法]
定义成字符串虽然直观,但效率不高,建议定义成2^32或2^64进制数
参考这本书"guide to elliptic curve cryptography"的算法2.5和2.6
[解决办法]
若只是八个字节,加减法,那倒比较好处理。
加法:后四个字节相加,若结果超出4个字节,超出的部分保存到一个临时变量中,然后前四个字节相加再加上临时变量,超出范围你就自个想办法处理吧,和后四个字节组成一个新的大数。
减法:就是逆过来,先做前面四个字节,注意后面四个字节可能需要借位。
自个再想想吧。