qt怎么对数组内的数据快速进行运算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt怎么对数组内的数据快速进行运算相关的知识,希望对你有一定的参考价值。
参考技术A 除法Qt编写的大数据的运算,包括基础的四则运算,阶乘
流浪者之路
原创
关注
1点赞·1300人阅读
编写背景:在平常的编程中我们会遇到很多的大数据,这些数据的值超出了整型int的最大范围;甚至超过了long long的数据范围;遇到这种情况,我们的数据处理就会变的十分的麻烦。因为我们不可以使用整型变量来表示这些值当然也就不可使用四则运算来,就算这些值的加减乘除的算术。当遇到这种情况的时候,我么就需要来使用字符串来表示一个数 ;
当然,也要使用字符串来进行相应的四则运算了;
环境:QT编译器; 使用语言:C++;
基本思路:
加法和减法是最基础的算法,要想实现乘法和除法的运算必定要先实现加法和减法的运算;
加法:
数据的加法是以小数点为中轴对齐进行计算;整数部分是以个位数开始,相加大于十就向前进一位;小数部分先把两个字符串补齐到一样长,然后按照整数部分加法进行计算;先计算小数部分,后计算整数部分;
减法:
数据的减法,依旧是先计算小数,后计算整数,把数据每一个单数转换成整型;减去减数每一个单数的整型;如果不够,则借一位;
乘法:
用两个for循环,内循环是循环被乘数,外循环为循环乘数;内循环每次取被乘数的一位,乘以外循环的一位数;
最后把每次外循环所得到的数相加,
除法:
由于除数和被除数都是大数据,所以,每次取除数长度的被除数与除数相除;而所取的被除数是用乘法循环0-9进行判断,得到单个的商;
单个的商乘以除数,与取得指定长度被除数相减;得到的差插入到剩下的被除数前
对 PostgreSQL 中 jsonb 字段内的对象数组使用 LIKE 运算符
【中文标题】对 PostgreSQL 中 jsonb 字段内的对象数组使用 LIKE 运算符【英文标题】:Using LIKE operator for array of objects inside jsonb field in PostgreSQL 【发布时间】:2016-01-04 17:38:27 【问题描述】:是否可以在 PostgreSQL 9.4 中的 jsonb 字段的对象数组中使用 LIKE 运算符来处理单个键/值?例如我有:
id | body
------------------------------------------------------------
1 | "products": ["name": "qwe", "description": "asd", "name": "zxc", "description": "vbn"]
我知道,我可以通过以下方式获得product
:
select * from table where 'body'->'products' @> '["name": "qwe"]'::jsonb
问题是:如果我不知道它的全名,我可以得到这个产品吗?
【问题讨论】:
【参考方案1】:尝试使用jsonb_each()
函数获取key
和value
:
WITH json_test(data) AS ( VALUES
('"products": ["name": "qwe", "description": "asd", "name": "zxc", "description": "vbn"]'::JSONB)
)
SELECT doc.key,doc.value
FROM json_test jt,
jsonb_array_elements(jt.data->'products') array_elements,
jsonb_each(array_elements) doc
WHERE
doc.key = 'name'
AND
doc.value::TEXT LIKE '%w%';
输出如下:
key | value
------+-------
name | "qwe"
(1 row)
【讨论】:
以上是关于qt怎么对数组内的数据快速进行运算的主要内容,如果未能解决你的问题,请参考以下文章