C++,从 char 数组中提取带符号的多位整数

标签 c++ arrays integer character

(Linux 上的 C++,KiTTy)

(家庭作业)

您好,这里是网站的新手。 我正在寻找(如标题所示)从字符数组中提取多位和一位整数。

示例输入如下所示:

1234+-5000 + 65 =

数据将存储在数组中......

[ 1 ][ 2 ][ 3 ][ 4 ][ + ][ - ][ 5 ][ 0 ][ 0 ][ 0 ][' '][ + ][' '][ 6 ][ 5 ] [' '][\0 ]......[MAX_STR_LEN]

输出需要是 1234、-5000 和 5 的总和。需要考虑的事项是:

  1. 我必须创建任何用于处理信息的辅助函数。
  2. 稍后将转换为 Motorola 68k ASM 语言(手动)。

有什么建议吗?非常感谢!

更新:已解决!感谢大家!我采纳了医生的建议。

最佳答案

我会做两个函数。

a) 将 char 数组分成几个 char[],每个 char[] 只有一个数字。应该是直截了当的,只需遍历数组,当你找到一个数字时开始复制,当你找到一个分隔标记停止(即 + 或 - 或 ' ')并跳到下一个。

b) 然后是第二个函数,它接受一个带有一个数字的 ascii 表示的 char 数组,并将其转换为一个 int。容易吗?所以对于长度为 3 的 char[] 例如 char[2] + char[1] * 10 + char[2] * 100; (这里假设 int of ascii '1' is 1, '2' = 2 - 如果没有则查找表进行转换)

还有一个 if 语句,如果在位置 0 处有一个 '-' 字符,则将其设为负数......

然后添加它们。完毕。

关于C++,从 char 数组中提取带符号的多位整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13506367/

相关文章:

c++ - 如何在单独的文件上调用模板构造函数?

c++ - Boost C++ 中的三对角矩阵类

ios - 如何访问返回类型为 UIViewController 的对象数组

date - 如何使用 Dax 公式将整数(112 格式)转换为日期?

string - 固定字符串 * 7 会比 =Len(7) 的整数使用更少的内存吗?

C++ istringstream 基于范围的 for 循环没有 begin 成员

c++ - 错误/var/tmp/kdecache 由 uid 1000 而不是 uid 0 拥有

c - 打印结构数组

C++,没有STL和Boost的对象数组(来自不同的类)

java - 静态错误 : This class does not have a static void main method accepting String[]