c - 如何将整数位数组转换为整数值?
问题描述
我有一个键盘,用于将数字输入微控制器(atmega32 avr)。用户将能够输入 1、2 或 3 位数字,因为我定义的输入范围是 [0-999]。这些数字中的每一个都将存储在整数数组的位置中。
因此,如果我的数组被定义为并且int d[3]
用户依次输入 2、6、9,我将拥有d[0] == 2
和。现在我想从这些数字中制作一个整数:。我怎样才能做到这一点?d[1] == 6
d[2] == 9
{2, 6, 9}
value == 269
解决方案
以下答案应适用于任何语言。这将相当简单,我建议您对数组中的值进行一些不同的格式化。我认为如果操作员输入一个个位数的数字存储它会更容易:{0, 0, 5}
. 如果它是一个两位数的数字,则像这样存储它:{0, 5, 9}
. 最后,如果操作员输入一个三位数的数字,则按如下方式存储:{5, 9, 2}
.
最后,在格式化数组后,您可以使用以下逻辑来获取数字。例如,如果数组是,arr = {5, 9, 8};
那么您可以执行以下操作以将其作为数字获取:
arr[0] * 100 + arr[1] * 10 + arr[2]
如果您遵循我上面给出的格式建议,那将起作用。
推荐阅读
- reactjs - React 定制的导航栏
- javascript - Symfony 4:如何在 AJAX 请求中获取控制器中的连接用户?
- vue.js - 无法在 Vuejs 中为嵌套数组添加表单
- jquery - 无效的内容类型:application/x-www-form-urlencoded;字符集=UTF-8
- python - 通过从一个 csv 读取并在 Python 中将其写入其他 csv 来执行 NSLOOKUP
- node.js - nodejs发布方法不起作用
- spring-mvc - 使用 spring-boot-starter-web 和 thymeleaf 时填充下拉列表
- sql - 使用 SQL 从字符串中提取字符
- amazon-kinesis - KCL如何知道一个ProcessRecordsInput的记录数?
- java - 根据用户的 uid 获取另一个用户的数据