草庐IT

算术强度

全部标签

android - 在 Android 中获取 WiFi 信号强度

我可以使用以下代码获取以dBm为单位的WiFi信号电平。for(ScanResultresult:wifiScanResultList){intsignalLevel=result.level;}它给出负值。当我们看到默认的系统WiFi设置并单击已连接的WiFi网络时,它会给出“好”或“坏”作为信号强度。我们可以将这些负值过滤为“好”信号强度或“坏”信号强度的范围是多少? 最佳答案 这是一篇旧帖子,但这可能会对某人有所帮助...WifiManagerwifiManager=(WifiManager)context.getSystem

c++ - 具有算术运算返回类型的 valarray

当我用valarray写一个简单的算术表达式时并将结果分配给auto当我尝试在gcc上访问结果时出现段错误。#include#includeusingstd::ostream;usingstd::valarray;ostream&operator&vs){osa{1.0,2.0,3.0,4.0};std::coutb{2.0,4.0,6.0,8.0};std::coutc{2.0,1.5,0.5,0.25};std::coutx=(a+b)/2;std::coutreference表示实现可以选择算术运算重载的返回类型可能不是valarray-value但“表现得像它”的东西:Theo

用于评估数学/算术表达式的 C++ 仿函数库

有没有人知道一个库可以让你做这样的事情?std::transform(vecA.begin(),vecA.end(),vecB.begin(),vecOutput.begin(),//run-timespecifiedexpressionmagic_functor("exp(a/(b+3))"));其中magic_functor是库提供的仿函数,a和b通过vecA和vecB迭代。我可以自己想出一些东西(这样做会很有趣),但最好避免重新发明轮子(我的老板也会杀了我)。花了一些时间在网上搜索,但找不到任何符合要求的内容。它需要灵活且快速,因此只解析字符串一次(例如在构造时在内部创建执行堆栈

c++ - 在 C++11 中,如何实现适合内置类型层次结构的算术类型?

基本上,我想实现一个float16类型。但这个问题不是关于如何做到这一点的细节,而是如何设置,以便我的新float16类型与float、double和所有整数类型表现得恰当。我想要的是我的float16类型转换为类似于浮点或double。例如,它应该隐式转换为这两种类型。它还应该具有std::common_type(http://en.cppreference.com/w/cpp/types/common_type),其行为与std::common_types对其他浮点类型的行为类似。这意味着std::common_type::type=float,std::common_type::

c++ - union UB的非事件成员的指针算术?

让我们考虑这个示例代码:structsso{union{struct{char*ptr;charsize_r[8];}large_str;charshort_str[16];};constchar*get_tag_ptr()const{returnshort_str+15;}};在[basic.expr]指定只要结果指向数组的另一个元素(或超过对象或最后一个元素的末尾),就允许指针算术。然而,如果数组是union的非事件成员会发生什么,在此设置中没有指定。我相信这不是问题short_str+15永远不是UB。对吗?Thefollowingquestion清楚地表明了我的意图

c++ - 迭代器算术

在c++STL中,如果我有一个迭代器it到一个vectorv中,那么it-v.begin()是否保证给出我将索引放入vector中,以便*it==v[it-v.begin()]?如果是这样,对于所有随机访问迭代器都是这样吗? 最佳答案 是的,是的,并且对于所有RA迭代器都是如此。 关于c++-迭代器算术,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11280653/

c++ - 重载算术中的 move 语义和传递右值引用

我正在用C++编写一个小型数值分析库。我一直在尝试使用包括move语义在内的最新C++11特性来实现。我理解以下帖子中的讨论和最佳答案:C++11rvaluesandmovesemanticsconfusion(returnstatement),但有一种情况我仍在尝试解决。我有一个类,叫它T,它完全配备了重载运算符。我也有复制和move构造函数。T(constT&){/*initializationviacopy*/;}T(T&&){/*initializationviamove*/;}我的客户端代码大量使用运算符,因此我试图确保复杂的算术表达式从move语义中获得最大yield。考虑

c++ - C++/Haskell 中的精确算术和惰性列表性能

在阅读thispaper后,我最近遇到了精确实数运算这一主题。和thispaper.我找到了许多讨论使用有符号数字流实现精确算术的论文。对任意精度使用无限流可以在函数式语言(如Haskell)中使用惰性列表实现很好的实际实现。但是,讨论函数式语言中此类实现的论文似乎得出的结论是性能非常差。现在,我意识到与标准浮点表示相比,精确的非硬件实现通常具有相对较差的性能,但我有兴趣以命令式语言(特别是C++)和运算/函数的集合(算术运算、三角函数、exp、log等)。我的问题:有符号数字/惰性流表示是否存在固有的缓慢导致性能不佳的问题,还是Haskell?是什么让它变慢?是否有可能在C++中使用

c++ - 如何在 C++ 中使用简单的递归下降解析器解析基本算术(例如 "5+5")?

这件事在我的脑海里已经有一段时间了。我对递归下降解析器很感兴趣,并且想知道如何实现它。我想要的是一个简单的解析器,它可以理解简单的算术,例如“5+5”或“(5+5)*3”。我认为第一步是编写一个“tokenizer”,它将整个输入字符串分解为许多子字符串。这部分我已经完成(我什至不得不询问它here。如果你不想的话,你不必点击链接,因为我也在此处发布相关代码。)我的这个标记器,我最终得到一个string或标记的vector。现在,困难的部分:我想解析这些标记。我已阅读Wikipediaarticleonrecursivedescentparsers.我确实了解整体概念,但与往常一样,实

c++ - 验证 C/C++ 有符号右移是否是特定编译器的算术?

根据C/C++标准(seethislink),C和C++中的>>运算符不一定是有符号数的算术移位。当位向右移动时,是否移入0(逻辑)或符号位(算术)取决于编译器实现。对于为有符号整数实现逻辑右移的编译器,此代码是否会在编译时执行断言(失败)?#defineCOMPILE_TIME_ASSERT(EXP)\typedefintCompileTimeAssertType##__LINE__[(EXP)?1:-1]#defineRIGHT_SHIFT_IS_ARITHMETIC\((((signedint)-1)>>1)==((signedint)-1))//SHRmustbearithme