Questions tagged «integer»

许多编程语言中的通用数据类型,用于表示整数。使用此标签可查询有关使用,存储或操作整数的问题。


6
如何将布尔数组转换为int数组
我使用Scilab,并希望将布尔数组转换为整数数组: >>> x = np.array([4, 3, 2, 1]) >>> y = 2 >= x >>> y array([False, False, True, True], dtype=bool) 在Scilab中,我可以使用: >>> bool2s(y) 0. 0. 1. 1. 甚至只是将其乘以1: >>> 1*y 0. 0. 1. 1. 在Python中是否有一个简单的命令,还是我必须使用循环?


13
C ++性能挑战:整数到std :: string的转换
谁能击败下面链接到std :: string代码的整数的性能? 已经有几个问题可以解释如何std::string在C ++中将整数转换为一个整数,例如this,但是所提供的解决方案都不有效。 以下是可与之竞争的一些常见方法的编译就绪代码: 使用stringstream的“ C ++方式”:http : //ideone.com/jh3Sa sprintf,SO-ers通常向注重性能的人推荐:sprintf:http : //ideone.com/82kwR 与流行的看法相反,boost::lexical_cast它具有自己的实现(白皮书),并且不使用stringstream和数字插入运算符。我真的很想比较它的性能,因为另一个问题表明它很惨。 我自己的贡献在台式计算机上具有竞争力,并且展示了一种在嵌入式系统上也可以全速运行的方法,这与依赖于整数模的算法不同: Ben的算法:http://ideone.com/SsEUW 如果您想使用该代码,我将在简化的BSD许可下使它可用(允许用于商业用途,需要提供署名)。只是问问。 最后,该功能ltoa是非标准的,但可广泛使用。 ltoa版本,适用于拥有提供该版本的编译器的用户(ideone不提供):http ://ideone.com/T5Wim 我将很快发布我的绩效评估作为答案。 算法规则 提供用于将至少32位有符号和无符号整数转换为十进制的代码。 将输出生成为std::string。 没有与线程和信号不兼容的技巧(例如,静态缓冲区)。 您可以假设使用ASCII字符集。 确保在以下位置测试您的代码 INT_MIN在绝对值无法表示的二进制补码机上。 理想情况下,输出应与使用的标准C ++版本的字符换字符相同stringstream,http://ideone.com/jh3Sa,但任何事情,这显然是理解的,因为正确的号码也是OK。 新增:尽管您可以使用想要进行比较的任何编译器和优化器选项(完全禁用除外),但至少在VC ++ 2010和g ++下,代码也需要编译并给出正确的结果。 希望进行的讨论 除了更好的算法,我还想在几种不同的平台和编译器上获得一些基准(让我们使用MB / s吞吐量作为我们的标准度量单位)。我相信算法的代码(我知道sprintf基准测试有一些捷径-现在已经确定),至少在ASCII假设下,该代码是标准明确定义的行为,但是如果您看到任何未定义的行为或输入,则输出为无效,请指出。 结论: g ++和VC2010的算法不同,可能是由于每种算法的实现不同std::string。显然,VC2010在NRVO方面做得更好,仅在gcc上摆脱了按价值回报的方法。 发现代码的性能要好sprintf一个数量级。 ostringstream落后50倍甚至更多。 挑战的赢家是user434507,该用户生成的代码在gcc上运行我自己的速度的350%。由于SO社区的异想天开,其他条目已关闭。 当前(最终?)速度冠军是: 对于gcc:user434507,速度比快8倍sprintf: http 对于Visual C …

9
Python如何管理int和long?
有人知道Python如何在内部管理int和long类型吗? 它会动态选择合适的类型吗? 一个整数的限制是多少? 我正在使用Python 2.6,与以前的版本有所不同吗? 我应该如何理解以下代码? >>> print type(65535) <type 'int'> >>> print type(65536*65536) <type 'long'> 更新: >>> print type(0x7fffffff) <type 'int'> >>> print type(0x80000000) <type 'long'>
118 python  integer 


11
测试字符串是否为有效整数
我正在尝试做一些足够普通的事情:在shell脚本中解析用户输入。如果用户提供了一个有效的整数,则脚本将执行一件事,如果无效,则脚本将执行其他操作。麻烦的是,我还没有找到一种简便(且相当优雅)的方法-我不想将它逐个字符地分开。 我知道这一定很容易,但我不知道如何。我可以用十几种语言来做,但是不能用BASH! 在我的研究中,我发现: 用于测试字符串是否以10为底的有效实数组成的正则表达式 在其中有一个讨论正则表达式的答案,但据我所知,这是C语言中可用的功能(以及其他功能)。尽管如此,它看起来还是一个不错的答案,所以我尝试使用grep进行尝试,但是grep不知道该怎么做。我尝试了-P,这意味着将其视为PERL regexp-nada。破折号E(-E)也不起作用。而且-F也没有。 为了清楚起见,我正在尝试类似的事情,寻找任何输出-从那里,我会整理脚本以利用我得到的一切。(IOW,我期望在重复有效行时,不合格的输入不返回任何内容。) snafu=$(echo "$2" | grep -E "/^[-+]?(?:\.[0-9]+|(?:0|[1-9][0-9]*)(?:\.[0-9]*)?)$/") if [ -z "$snafu" ] ; then echo "Not an integer - nothing back from the grep" else echo "Integer." fi 请问有人说明这是最容易做到的吗? 坦率地说,我认为这是TEST的缺点。它应该有这样的标志 if [ -I "string" ] ; then echo "String is a valid integer." else …




10
如何检查一个数字是否可被另一个数字整除(Python)?
我需要测试从1到1000的每个数字是3的倍数还是5的倍数。我认为我要这样做的方式是将数字除以3,如果结果是整数,则它将是3的倍数。与5相同。 如何测试数字是否为整数? 这是我当前的代码: n = 0 s = 0 while (n < 1001): x = n/3 if isinstance(x, (int, long)): print 'Multiple of 3!' s = s + n if False: y = n/5 if isinstance(y, (int, long)): s = s + n print 'Number: ' print n print 'Sum:' …
112 python  integer  modulus 

3
为什么Python 3允许“ 00”作为0的文字,却不允许“ 01”作为1的文字?
为什么Python 3允许“ 00”作为原义的0,却不允许“ 01”作为原义的1?有充分的理由吗?这种矛盾使我感到困惑。(我们正在谈论的是Python 3,它故意打破了向后兼容性以实现诸如一致性之类的目标。) 例如: >>> from datetime import time >>> time(16, 00) datetime.time(16, 0) >>> time(16, 01) File "<stdin>", line 1 time(16, 01) ^ SyntaxError: invalid token >>>

8
解析v.TryParse
Parse()和TryParse()有什么区别? int number = int.Parse(textBoxNumber.Text); // The Try-Parse Method int.TryParse(textBoxNumber.Text, out number); 是否存在某种形式的错误检查,例如“尝试捕获”块?
111 c#  parsing  integer  tryparse 

12
如何在C#中求和一个整数数组
是否有比遍历数组更好的更短方法? int[] arr = new int[] { 1, 2, 3 }; int sum = 0; for (int i = 0; i < arr.Length; i++) { sum += arr[i]; } 澄清: 更好的主键意味着更干净的代码,但也欢迎有关性能改进的提示。(就像已经提到的:拆分大数组)。 并不是我在寻求提高杀手级性能的方法-我只是想知道这种语法糖是否还不可用:“有String.Join-int []到底有什么用?”。
108 c#  arrays  integer 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.