草庐IT

long-integer

全部标签

c++ - 使用 scanf 读取 long int

要使用scanf读取int,我们使用:scanf("%d",&i);如果i是long而不是int怎么办?注意:当使用%d和long时,它会给我一个恼人的警告.. 最佳答案 随便用longl;scanf("%ld",&l);itgivesmeanirritatingwarning..这个警告是完全正确的。这是在乞求堆栈损坏。 关于c++-使用scanf读取longint,我们在StackOverflow上找到一个类似的问题: https://stackoverf

c++ - GCC 是否支持 long long int?

GCC是否支持:longlongint哪个是64位整数?另外,longlongint是标准的一部分吗? 最佳答案 是的,GCC确实支持longlongint,这是C99标准的一部分。该标准不要求其大小以位为单位,但要求LLONG_MIN的值和LLONG_MAX在暗示它至少是64位的(精确64位宽的整数类型是int64_t/uint64_t来自)。LLONG_MIN最多只能是-9223372036854775807LLONG_MAX必须至少为9223372036854775807 关于c+

c++ - unsigned long 和 UINT64 的区别

unsignedlong和UINT64有什么区别?我认为它们是相同的,但我不确定。UINT64的定义是:typedefunsigned__int64UINT64(通过使用StdAfx.h) 最佳答案 UINT64是特定的并声明了您的意图。您需要一个正好是64位宽的无符号整数类型。在某些平台上这可能等于unsignedlong是巧合。 关于c++-unsignedlong和UINT64的区别,我们在StackOverflow上找到一个类似的问题: https:/

c++ - long long 在 32 位机器上的实现

根据c99标准,longlong的大小应至少为64位。这是如何在32位机器中实现的(例如,2longlongs的加法或乘法)。还有,C++中的longlong等价物是什么。 最佳答案 C++中的等价物也很长。它不是标准要求的,但大多数编译器都支持它,因为它非常有用。它是如何实现的?大多数计算机体系结构已经内置了对多字加法和减法的支持。他们不直接进行64位加法,而是使用进位标志和特殊的加法指令从两个32位加法构建一个64位加法。减法也存在相同的扩展(在这些情况下进位称为借位)。长字乘法和除法可以从较小的乘法中构建,而无需进位标志的帮助

c++ - C和C++中long double和double的区别

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:longdoublevsdouble我是编程新手,我无法理解C和C++中longdouble和double之间的区别。我试图谷歌它,但无法理解它并感到困惑。有人可以帮忙吗? 最佳答案 引用C++标准,§3.9.1¶8:Therearethreefloatingpointtypes:float,double,andlongdouble.Thetypedoubleprovidesatleastasmuchprecisionasfloat,andthetypelo

C++ 类型 unsigned long int

这个问题在这里已经有了答案:StandardguaranteesforaliasesofintegertypesinC/C++?E.g.:Is"unsigned"alwaysequalto"unsignedint"?(1个回答)关闭去年。unsignedlongint是否等同于unsignedlong?在C++中在我看来,它们是相同的。但我看到有些人仍在代码中使用unsignedlongint。不明白为什么?谁能帮我解释一下#includeintmain(){unsignedlongintnum=282672;intnormalInt=5;printf("");return0;}

c++ - 哈希函数为一对long long?

我需要将一对longlong映射到一个double,但我不确定要使用什么哈希函数。每对可以由任意两个数字组成,尽管在实践中它们通常是介于0和大约100之间的数字(但同样不能保证)。Here是tr1::unordered_map文档。我是这样开始的:typedeflonglongInt;typedefstd::pairIntPair;structIntPairHash{size_toperator(constIntPair&p)const{return...;//howtohashthepair?}};structIntPairEqual{booloperator(constIntPai

c++ - 为什么我必须对用户定义的文字使用 long double?

这个问题在这里已经有了答案:C++11operator""withdoubleparameter(2个回答)关闭3年前。以下用户定义的文字省略了错误:constexprdoubleoperator""_kg(doubleq){returnq*1000;}但如果添加long,错误将消失,代码将按如下方式工作:constexprdoubleoperator""_kg(longdoubleq){returnq*1000;}错误是:‘constexprdoubleoperator""_kg(double)’hasinvalidargumentlist问题只是参数和返回类型可以是double而没

c++ - 微软为何放弃 long double 数据类型?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭11年前。社区审核了是否要重新打开这个问题8个月前并关闭:原始关闭原因未解决前段时间我写了一个程序,它使用了一些阶乘函数。我使用longdouble数据类型来支持“相对”大数字。现在,我从代码块更改为Visualstudio2010,我想知道为什么我的程序不再工作,直到经过一些研究后我意识到MS已经放弃了longdouble数据类型。这有什么特别的原因吗?对我

c++ - is_integral vs is_integer : is one of them redundant?

is_integral和is_integer似乎以同样的方式回答同样的事情。从相关文档页面的链接来看,is_integral似乎缺少以下类型的特化signedcharunsignedcharunsignedshortunsignedintunsignedlongunsignedlonglong还有一个compiledexample,(当然)也显示了它们在这些类型上的相同行为:#include#includeusingnamespacestd;intmain(){cout::value::value::value::value::value::value如果它们的行为也相同,那么在C++