草庐IT

integer-math

全部标签

原来你是这样的JAVA--[07]聊聊Integer和BigDecimal

今天来聊聊Java中跟数值处理相关的两个类型Integer和BigDecimal。说起这两个类型,我们肯定都不陌生,但是其中有些容易踩到的坑需要注意避让。Integer整型我们应该每天都会用到,但是每种语言还是有自己的特性。从敬姐刚从.NET转过来的时候踩过的一个坑说起:话说在.NET世界中,数值的基本类型和包装类型是会自动转换的,所以数值比较很自然地就会使用a==b,但是到java这却行不通了,顿时一脸懵。数值比较及自动装箱@TestpublicvoidInterger(){Integerx=127;Integery=127;Integerm=99999;Integern=99999;Sys

c++ - 错误 "requested alignment is not an integer constant"

我在解决GCC问题时遇到问题。我在GCC4.8下体验过它,但不是5.1。看起来它被报道了here和/或here.问题如下:templatestructS{staticconstintALIGN=16;__attribute__((aligned(ALIGN)))intx;};intmain(intargc,char*argv[]){Ss1;Ss2;return0;}和:$g++test.cxx-otest.exetest.cxx:9:41:error:requestedalignmentisnotanintegerconstant__attribute__((aligned(ALIGN

c++ - 查找值在 std::integer_sequence 中第一次出现的位置

我想找到一个值在std::integer_sequence中第一次出现的位置。标准库中是否有用于此任务的算法?如果没有,什么是做这件事的好方法?--下面是我的尝试。它有效,但我觉得它不是很优雅;当值不存在时(代码因编译而被注释掉),它也无法产生干净的错误(“未找到值”)。(此外,必须在Find_in_integer_sequence中指定整数类型感觉有些多余,但我认为没有办法解决它。)代码仅供您娱乐,不应作为建议解决方案的起点。#include#include#includenamespacedetail{templatestructFind;templatestructFind_im

c++ - Vb.net 和 C++ 的 MATH 函数中任何已知的歧义

最近我发现C++fmod函数及其在Vb.net中的等效Math.IEEERemainder的结果存在歧义如果我们在C++中计算fmod(4.1887902053333335/6.283185307,1.0)我们得到,0.6666666677277而Math.IEEERemainder(4.1887902053333335/6.283185307,1.0)在Vb.net中结果为-0.33333333322723因此我们发现结果完全不同会严​​重影响输出。我目前正在从事一个项目,该项目有几个数学运算,包括正弦、双曲余弦、模数等。它最初是用C++编写的,我的任务是在Vb.net中转换它。虽然

C++ : Math library that solve system of equations using back substitution algorithm

如果我有这个:A*f=g;A:uppertriangularmatrix(nxn)f:(nx1)g:(nx1)需要使用反向替换算法求解f。我会说自己写一个并没有那么难,但是哦,如果那里有图书馆,那为什么不呢。 最佳答案 提升uBlas应该管用。至少如果我正确理解你的问题,你可能想从查看lu_substitute()和inplace_solve()开始。 关于C++:Mathlibrarythatsolvesystemofequationsusingbacksubstitutionalgo

c++ - 来自 math.h 库的 pow() - 如何使用函数应用

所以我正在编写一些代码,需要将函数的返回值提高到某个幂。我最近发现使用'^'运算符进行求幂是没有用的,因为在C++中它实际上是一个XOR运算符或类似的东西。现在这是我要编写的代码:intanswer=pow(base,raisingTo(power));现在谁能告诉我这是否正确?我会解释代码。正如你们都知道的那样,我已经声明了一个int变量answer,并将其初始化为任何名为“base”的变量的值,提升为作用于任何其他名为“power”的变量的raisingTo()函数的返回值。当我这样做时(并且我在VisualC++2010ExpressEdition中编辑和编译我的代码),红色破折

c++ - "integer constant is too large for ‘long’ 求最大质因数时键入"

我正在解决Euler项目3:Description:Theprimefactorsof13195are5,7,13and29.Whatisthelargestprimefactorofthenumber600851475143?这是我生成答案的代码。但是我需要一个整数类型来保存600851475143。当我在Mac上的GCC上编译它时,我得到:integerconstantistoolargefor‘long’type".我预计longlong可以轻松持有这个数字。我也试过让它未签名。为什么我的代码不能保存这么小的数字?我该怎么做才能让它发挥作用?#include#includeusi

c++ - int8_t 和 char : converts between pointers to integer types with different sign - but it doesn't

我正在处理一些嵌入式代码,并且正在从头开始编写一些新东西,因此我更愿意坚持使用uint8_t、int8_t等类型。然而,当移植一个函数时:voidfunctionName(char*data)到:voidfunctionName(int8_t*data)在将文字字符串传递给函数时,我收到编译器警告“在指向具有不同符号的整数类型的指针之间转换”。(即调用functionName("putthistextin");时)。现在,我明白了为什么会发生这种情况,并且这些行只是调试,但我想知道人们认为什么是最合适的处理方式,而不是对每个文字字符串进行类型转换。在实践中,我不认为一揽子类型转换比使用

c++ - scanf 与 cin : string as integer processing

我有一个输入字符串“0100”为什么scanf("%i",&n);返回64而cin>>n;给我100?为什么cin以十进制值思考,而scanf以八进制值思考? 最佳答案 Fortheispecifier:  Anynumberofdigits,optionallyprecededbyasign(+or-).Decimaldigitsassumedbydefault(0-9),buta0prefixintroducesoctaldigits(0-7),and0xintroduceshexadecimaldigits(0-f).-sca

无需在 VS 2013 中包含指令 "math.h"即可使用 C++ 数学函数

我很好奇为什么我可以在不包含“math.h”的情况下使用C++中的数学函数。我无法通过Google搜索找到答案。这是我正在执行的简单代码。一切都在编译和运行。#includeusingnamespacestd;intmain(){constfloatPI=acosf(-1);cout 最佳答案 允许任何标准header包含任何其他标准header。 关于无需在VS2013中包含指令"math.h"即可使用C++数学函数,我们在StackOverflow上找到一个类似的问题: