c++带符号的大整数计算器

定制魏:QTWZPW,获取更多源码等

目录

题目

 要求

类声明 

构造函数 

核心算法实现说明 

 总体设计

测试与结论

加法测试

减法测试

乘法测试

除法测试

 总结

 完整代码


题目

为带符号大整数定义一个类。 将带符号大整数表示成两个值:一个是绝对值,用无符号大整数表示,一个是符号,用整形数表示,1表示正号,-1表示负号 重载输入和输出运算符>>和<<。带符号大整数以-12345678 90,1234567890668 这样的形式来输入和输出。注意可能在输人时包含有正号,所以必须支持像+12345678 90 这样的输入。重载以下所有运算符,使它们能正确支持Fraction类型:十,-,*,/。 仿照计算器的运算过程,采用计算器方式来对带符号大整数进行运算。

 要求

  • 实现带符号大整数类: 设计一个 SignedBigInt 类,其中包括私有成员变量 sign 和 value,分别表示符号和绝对值,以及公有成员函数用于实现加法、减法、乘法和除法运算。
  • 输入输出运算符重载: 重载输入和输出运算符 >> 和 <<,以便用户可以通过输入输出流直接输入输出带符号的大整数。
  • 基本运算的实现: 实现带符号大整数的加法、减法、乘法和除法运算。对于加法和减法,需要根据两个数的符号进行处理;乘法和除法则需要考虑结果的符号以及绝对值的计算。
  • 菜单选择功能: 提供一个菜单,让用户选择进行加法、减法、乘法、除法或退出程序的操作,每次操作结束后可以返回菜单以进行下一次操作。

类声明 

  • 数据成员:
  1. int sign:用于表示数值的符号,1 表示正,-1 表示负。
  2. unsigned long long int value:用于存储绝对值的无符号大整数。
  • 构造函数:
  1. 提供了两个构造函数,一个是默认构造函数,另一个接受符号和绝对值作为参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/758000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于python的变配电室运行状态评估与预警系统flask-django-nodejs-php

近年来,随着我国工业化、城镇化步伐的不断加快&#xff0c;城市配电网络取得令人瞩目的发展成果。变配电室是供配电系统的核心&#xff0c;在供配电系统中占有特殊的重要地位[1]。变配电室电气设备运行状态和环境信息缺乏必要的监测评估预警手段&#xff0c;如有一日遭遇突发情…

OpenGL学习笔记【1】——简介

一、OpenGL概念 OpenGL (Open Graphics Library&#xff0c;译名&#xff1a;开放式图形库开放式图形库) 是一种用于渲染 2D 和 3D 图形的跨语言、跨平台的编程接口(API)。 二、OpenGL跨语言 OpenGL 是一个 C 语言库&#xff0c;因此理解 C 语言&#xff08;或 C&#xff09;的…

Linux-线程同步

文章目录 前言一、为什么要线程同步&#xff1f;二、线程同步pthread_cond_initpthread_cond_destroypthread_cond_wait、pthread_cond_signal和 pthread_cond_broadcast 三、示例代码 前言 上节课学习了线程互斥&#xff0c;这节课针对线程互斥内容在做进一步的补充和完善&am…

【Python 48小时速成 3】输入与输出

在 Python 中&#xff0c;输入和输出通常通过内置函数来实现。主要的输入函数是 input()&#xff0c;用于从用户获取输入&#xff0c;而输出函数则是 print()&#xff0c;用于将结果打印到控制台。以下是简单的代码示例演示了输入和输出&#xff1a; # 输入示例 name input(&…

[C语言]一维数组二维数组的大小

对于一维数组我们知道取地址是取首元素的地址&#xff0c;二维数组呢&#xff0c;地址是取第一行的地址&#xff0c;sizeof(数组名)这里计算的就是整个数组的大小&#xff0c;&数组名 表示整个数组&#xff0c;取出的是整个数组的地址&#xff0c;显示的是数组的首元素 记…

网络工程师练习题2

网络工程师 将专用IP地址转换为公用IP地址的技术是&#xff08;&#xff09;。 A.ARPB.DHCPC.UTMD.NAT 【答案】D 【解析】概念题&#xff0c;NAT技术将源地址从内部专用地址转换成可以在外部Internet上路由的全局IP地址。 R1、R2是一个自治系统中采用RIP路由协议的两个相…

Java基础知识总结(8)

StringBuilder类(是线程不安全的) StringBuffer 和 StringBuilder二者及其相似&#xff0c;下面是构造方法&#xff1a; StringBuilder StringBuilder()创建空对象&#xff0c;空的字符序列 StringBuilder StringBuilder(StringBuilder builder)传入对象创造字符序列 Strin…

【计算机网络篇】物理层(4)信道的极限容量,信道复用技术

文章目录 &#x1f354;信道的极限容量&#x1f6f8;造成信号失真的主要因素⭐码元的传输速率 &#x1f6f8;奈氏准则&#x1f6f8;香农公式&#x1f388;练习 &#x1f5d2;️小结 &#x1f354;信道复用技术⭐常见的信道复用技术&#x1f388;频分复用FDM&#x1f388;时分复…

时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解

时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解 目录 时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.CEEMDAN方法的分解效果取决于白噪声幅值权重(Nstd)和噪声添…

【刷题】滑动窗口入门

送给大家一句话&#xff1a; 那脑袋里的智慧&#xff0c;就像打火石里的火花一样&#xff0c;不去打它是不肯出来的。——莎士比亚 滑动窗口入门 认识滑动窗口Leetcode 209. 长度最小的子数组题目描述算法思路 Leetcode 3. 无重复字符的最长子串题目描述算法思路 Leetcode 1004…

部署应用到K8s集群(未完)

&#xff08;等熟悉一番再来写&#xff0c;因为按小时结算的。。。&#xff09; 1 、 kubectl run 启动 nginx 应用 kubectl run nginx --imagenginx:latest 2、将本地机器的80端口转发到集群中名为nginx的Pod的80端口 kubectl port-forward --address 0.0.0.0 pod/nginx 80:8…

AHI对MySQL性能的影响

MySQL中出现很多latch锁&#xff0c;而这个很大程度上和MySQL自适应hash索引有关。 AHI概述 MySQL InnoDB存储引擎的自适应哈希&#xff08;Adaptive Hash Index&#xff0c;下简称AHI&#xff09;功能 若用户的访问模式基本都是类似KV操作的点查询&#xff08;point select&…

es bulk批量操作简单实例

&#xff08;1&#xff09;定义 bulk允许在单个步骤中进行多次create、index、update或delete请求。 bulk与其他的请求体格式稍有不同&#xff0c;如下所示&#xff1a; { action: { metadata }}\n { request body }\n { action: { metadata }}\n { request body …

FPGA高端项目:FPGA基于GS2971+GS2972架构的SDI视频收发+HLS图像缩放+多路视频拼接,提供4套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博主所有FPGA工程项目-->汇总目录本博已有的 SDI 编解码方案本方案的SDI接收发送本方案的SDI接收图像缩放应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收OSD动态字符叠加输出应用本方案的SDI接收HLS…

社会责任管理体系审核员

为满足国家越来越多的各种类型、各种规模的企业组织能按照 GB/T 39604-2020《社会责任管理体系要求及使用指南》国家标准建立相应制度&#xff0c;助力组织实现其社会责任管理体系的预期结果&#xff0c;以及满足各类组织对社会责任管理体系实践的需要&#xff0c;了解社会责任…

rr 为什么会出现幻读?

首先要知道mvcc的两个概念&#xff0c; 1. undolog 可以理解为就是一个数据快照&#xff0c;里面包含数据&#xff0c;当前事务ID&#xff08;相当于版本号&#xff09;和上一个快照的指针。类似链表。 2. readview 可以理解为事务 读快照&#xff0c; 记录当前事务ID&#xff…

工作需求iview 组件的使用

加油&#xff0c;新时代打工人&#xff01; 源码下载地址 <template><div mouseenter"mousein true" mouseleave"mousein false"><el-input type"text" clearable autocomplete"off" v-model"searchDoc.code&q…

【CSS】html滚动条相关

1.滚动条样式 ::-webkit-scrollbar {width: 10px;height: 10px;z-index: 101; } ::-webkit-scrollbar-thumb {border-radius: 5px;background: #cecece; } ::-webkit-scrollbar-track {// background: #f5f5f5be;background: rgba(33, 85, 163, 0); } ::-webkit-scrollbar-but…

Rust 基于 await、async 的异步编程和纤程、协程的实现

一、Rust 的异步编程 Rust 通过 await、async 实现了其他语言中纤程、协程的机制。下面是一个使用async和await的Rust示例代码。这个示例展示了如何异步地读取文件内容。 首先&#xff0c;确保你的Cargo.toml文件包含了tokio库的依赖&#xff0c;如下&#xff1a; [dependen…

python汽车租赁系统的设计与实现flask-django-php-nodejs

困扰公司的许多问题当中,汽车租赁管理一定是公司不敢忽视的一块。但是管理好汽车租赁又面临很多麻烦需要解决,例如有几个方面:第一,公司往往汽车数量都比较多,如何保证能够管理到每一汽车;第二,如何在工作琐碎,记录繁多的情况下将汽车租赁的当前情况反应给公司领导相关部门决策…