首页 >

银行服务器是如何实现存储超大数字而不会溢出的? – 网络|

变声器怎么去杂音,三星笔记本怎么样,怎么把sql表格显示在网页上银行服务器是如何实现存储超大数字而不会溢出的? - 网络|银行服务器是如何实现存储超大数字而不会溢出的

大家可以根据数字的大小动态分配内存,位数不够了就再往上加。就好比大家从小学的加法从来没有限制过操作数的大小。纸有多长就能写多长。

只是这么做大家就不能享受机器语言中由硬件对整个整数所有32个位批量处理并且解决进位的待遇了。大家必须手动迭代,管理进位。

打个最直观但低效的例子。大家可以使用链表,将二进制数的低数位放在列表头方向,进行比如加法运算时同时迭代两个操作数的链表,按位相加,再加上上一位的进位,如此构造结果。这甚至是可以单纯靠布尔逻辑而不依赖硬件加法实现

当然,大家没有必要完全舍弃硬件带来的”批处理”功能。而且事实上,硬件中的”行波进位加法器”就是通过上面描述的原理实现的。只是行波进位加法器使用定长数组罢了。那么,大家可以在数组或者链表中,以硬件一批次能处理的大小存储大整数,用硬件实现的加法完成组内进位。而硬件加法产生溢出时通过比如在某一特殊寄存器中立下的flag告诉大家是否应该往下一组数位中输入进位。

如果是浮点数的话就用科学计数法吧。”浮点”这个叫法的来源就是这个。


银行服务器是如何实现存储超大数字而不会溢出的? - 网络|
  • 怎么给Python3.2装pylab? |python里应用rsa模块
  • 怎么给Python3.2装pylab? |python里应用rsa模块 | 怎么给Python3.2装pylab? |python里应用rsa模块 ...

    银行服务器是如何实现存储超大数字而不会溢出的? - 网络|
  • Python实现包络线算法(详细讲解包络线绘制过程) |python用数字代表汉字
  • Python实现包络线算法(详细讲解包络线绘制过程) |python用数字代表汉字 | Python实现包络线算法(详细讲解包络线绘制过程) |python用数字代表汉字 ...

    银行服务器是如何实现存储超大数字而不会溢出的? - 网络|
  • Python迭代器和遍历详解(让你轻松掌握迭代器和遍历的方法) |python3list函数的用法
  • Python迭代器和遍历详解(让你轻松掌握迭代器和遍历的方法) |python3list函数的用法 | Python迭代器和遍历详解(让你轻松掌握迭代器和遍历的方法) |python3list函数的用法 ...