巨大数运算的基础:微易码补码

巨大数运算目的是为了解决数据范围大于数据类型能表示的范围之内的现象,例如 int (2^31)表示的数据范围在21亿, unsigned int (无符号位 2 ^32 ) 表示的数据范围在42亿范围之内,那么巨大数的目的就是解决这个数据超出能表达范围的现象。
对于用户输入的一串数字,我们不在采用数据类型去接收它(上边说了,可能会超出数据类型所能表示的范围),而采用字符串去做接收。
万进制(个人理解):其实万进制和我们平常所见的十进制,二进制,八进制……是一个概念,十进制的进率是10,满10 向上进一位,二进制是进率是2,那万进制的进率就是10000,满10000向上进一位,万进制可以将十进制的四位捆绑看做是一位,那这一位最大的值只能是9999 ,类比来说十进制的每一位最大值只能9,二进制每一位最大只能是1,八进制每一位最大只能是7。
补码:补码的引出就是为了使减法运算变为加法运算,a - b = a + (- b)
微易码补码:
1.具有补码的性质,根据常规0代表正数,1代表负数
2.对于两个数字进行相加减,正数前面补0000 ,负数前面补9999,数据长度补齐,正数采用本身相加,负数采用它的补码(9999 + 负数)进行相加。
3.对于运算结果的符号表示为:第一个运算数正负 ^ 第二个运算数正负 ^ 两个运算数运算的最后一次进位
4.若运算结果的符号为0(即正数),则最后的运算结果是加上进位得到最后的运算结果。
5.若运算结果的符号为1(即负数),则最后的运算结果加上进位再用9999减去得到最终的结果

下面的例子采用简单数据来进行说明,巨大数只是位数更多与其本质相同,涵盖各种情况的加减法:

巨大数的运算 (前篇 ——对于整数) # 万进制 # —————— 开开开山怪相关推荐

  1. 【C语言数据结构与算法的应用4】巨大数----加减乘运算(万进制和Mec补码的应用)

    巨大数 什么是巨大数 目的 巨大数的加法 巨大数的存储 万进制 微易码补码 巨大数的减法 巨大数的乘法 总结 什么是巨大数 巨大数其实就是有效数字位很大,可表示数的大小超过了int 的表示范围:[-2 ...

  2. python的整数类型有几种进制_(一)Python入门-2编程基本概念:08整数-不同进制-其他类型转换成整数...

    一:整数-不同进制 Python中,除10 进制,还有其他三种进制: ·0b或0B,二进制 0 1 ·0o 或0O,八进制 0 1 2 3 4 5 6 7 ·0x或 0X,十六进制 0 1 2 3 4 ...

  3. 第E题 转换任意进制 (java方法直接解)==输入一个十进制数N,将它转换成R进制数输出

    输入一个十进制数N,将它转换成R进制数输出. Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10). Outpu ...

  4. 利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能。(第二版)

    [实验题目内容] 保持计算机默认的十进制不变(要求不用C++流操纵符转换基数为八进制形式oct,不用C++流操纵符转换基数为十六进制形式hex,也不用setbase(base)函数将基数设置为base ...

  5. Python实现生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B

    题目要求: 生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B 01-AF-3B 01-AF-3B-xx 01-AF-3B-xx-xx 01-AF-3B-xx-xx-x ...

  6. 嵌入式linux编程过成中模块从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数(提取特定字符串+字符串转16进制)

    嵌入式linux编程过成中用到zigbee模块 zigbee从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数 (提取特定字符串+字符串转16进制) #include<st ...

  7. 利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能。

    利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能. [实验题目内容] [实验环境](使用的软件):VS - 2010 [项目设计源代码] [项目测试运行结果截图] [实验题目内容 ...

  8. [转载] python字符串转化为16进制数_python实用知识,数值类型和进制整数的转换

    参考链接: 在Python中将整数int转换为字符串string 喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 1.数值类型的转换 int()可以将字符串 ...

  9. python整数类型进制表示_Python二进制、八进制、十六进制数字的表示和转换

    除了常用的十进制表示法,Python 也支持二进制.八进制和十六进制表示法.这些只是表示方法不同,但是它们表示的含义是一样的,如二进制中的 11 和十进制数中的 3 是一样的. 1. Python 二 ...

  10. python整数类型进制表示_python2学习经验(一) 变量数据类型

    python2  基础教程 (学习经验总结) -------------------------基础片-------------------------- python2的数据类型 python2没有 ...

最新文章

  1. MySQL ERROR 1878 解决办法
  2. 7.1 pdo 宝塔面板php_宝塔面板配置阿里云服务器步骤和教程
  3. 腾讯、阿里到底有多缺这类程序员?
  4. EventBus/EventQueue 再思考
  5. Android编程获取手机型号,本机电话号码,sdk版本及firmware版本号(即系统版本号)...
  6. 高级语言中的关键字:const用法分析
  7. 微软-IT-解决方案-统一沟通-发布会
  8. php mkdir创建多级目录
  9. PAIP.img ROM文件提取APK
  10. 索菲对讲机写频软件_万能对讲机写频软件
  11. 主干光缆线路的组网结构
  12. SylixOS操作系统自学经历(一)
  13. 【Ubuntu疑难杂症】无法定位软件包?
  14. c语言输出字母是问号,为什么数组输出会多一个问号
  15. IOS开发使用@IBInspectable给控件添加额外属性
  16. Python函数复习
  17. 华为IT总监徐家骏的10年
  18. [评估指标] 敏感性/特异性/PPV/NPV等指标原理与计算方法
  19. 中国IT实验室的java方面的视频
  20. 变速外挂案例及原理分析

热门文章

  1. Vue+element+Nodejs学习记录(6)
  2. 计算机无法上无线网络连接到internet,电脑连接不上无线网络,教您怎么解决电脑连接不上无线网络...
  3. Win11触摸键盘如何开启?
  4. [Other]规范的邮件签名格式及HTML代码
  5. 海思hisi v350报错librecovery (native:platform) should not link to libhi_common (native:vendor)
  6. 黄金分割法 c语言程序,优化程序-黄金分割法C语言程序设计
  7. TPshop学习(1)Windows下安装TPshop
  8. PMP|项目管理过程中,怎么识别风险?
  9. openstack虚拟机热迁移优化如何治本?
  10. 不卷了!技术团队成员集体辞职