首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GMP ..binary执行

GMP ..binary执行
EN

Stack Overflow用户
提问于 2010-01-28 01:09:14
回答 1查看 112关注 0票数 1

在GMP库中...

如何在内部执行对整数的操作?就像6=0110,4=0100..and 6+4= 0110+0100..在乘法、除法和其他运算的情况下会发生什么!??它如何控制溢出位和其他东西..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-28 12:20:31

大多数基本的多精度例程都是用汇编代码编写的,并利用了特定的CPU指令。

对于加法,基本指令是“进位加法”。该指令将两个CPU寄存器的内容和进位位相加,然后将结果保存在寄存器中,如果存在溢出,则设置进位位。要将两个多精度数相加,请清除进位位,然后将每个多精度值中的第一个字(通常是C "unsigned int“或"unsigned long")相加,保存结果,并为下一个循环设置进位位。细节在处理不同大小的输入等。

对于乘法,基本指令"MULT“只是将两个寄存器相乘,并将结果的上半部分存储在一个CPU寄存器中,将结果的下半部分存储在另一个CPU寄存器中。

有关如何在CPU上实际执行此操作的详细信息,您需要研究CPU的指令集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2148852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档