我试图检查文本框中的值是否在4到80之间,但我不能这样做,但它不是我需要的
final String checkage = age.getText().toString();
if(checkage.equals(4) || checkage.equals(80) ) {
Toast.makeText(this, "You must be older than 4 and younger than 80", Toast.LENGTH_SHORT).show();
return;
}
Run Code Online (Sandbox Code Playgroud) 我正在玩C++并决定编写将返回给定整数的位长度的算法.在解决了一些不相关的问题后,它终于奏效了.这是我的代码:
#include <iostream>
using namespace std;
long long int ipow(int x,int n)
{
if (n==0) return 1;
if (n%2!=0) return x*ipow(x,((n-1)/2))*ipow(x,((n-1)/2));
return ipow(x,n/2)*ipow(x,n/2);
}
int bits(long long int n)
{
if (n==0 || n==1) return 1;
int i=1;
while (n>ipow(2,i+1)-1) i++;
return i+1;
}
int main()
{
long long int n;
cin>>n;
cout<<bits(n)<<endl;
}
Run Code Online (Sandbox Code Playgroud)
我用越来越大的数字测试了它并发现了一个有趣的事实 - 程序对于大多数整数来说真的很快,甚至更大(50-60位长),但是卡在高CPU负载而且没有显示任何数分钟的数字"a小"更大.
我修改了一点代码以找到断点并发现我的程序可以处理的最后一个整数是4611686018427387903.我在Wolfram Alpha上查找它并发现它等于2 ^ 63-1,这意味着它是最大的62位数.
里斯我的问题 - 它可能是愚蠢的 - 为什么62位?据我所知,long long int可以容纳64位变量,我的CPU也可以处理64位整数.那么为什么不是64位的限制呢?
-Mateusz Duchalski
PS我正在使用Code :: Blocks与最新稳定的MinGW在Windows 10 64位上运行,由Intel Core i5-4570 Haswell …
嗨,我有一个名为Week的列,但是是整数类.看起来像这样
Week
201401
201402
201403
201404
这些基本上是2014年的几周.我想将它们转换为周结束日期
201401 = 2014-01-05
201402 = 2014-01-12
谢谢.
PS.我试图谷歌答案,但无法获得相关的答案.同样as.Date对我不起作用.
再次感谢.
我一直在寻找其他帖子的答案,他们似乎指出我正在做什么,但我仍然得到NumberFormatException.我试图JFrame通过拉取jtextfield值并将其转换为int 来构建一个简单的计算器,但我得到以下异常.
package com.calculator.app;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class CalculatorApp extends JFrame {
private JPanel contentPane;
private JTextField textField = new JTextField();
private JTextField textField_1 = new JTextField();
private JTextField textField_2 = new JTextField();
int num1 = Integer.parseInt(textField.getText());
int num2 = Integer.parseInt(textField_1.getText());
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void …Run Code Online (Sandbox Code Playgroud) 在Perl中,如果我有一个排序的整数数组,是否有一种紧凑的方法将其转换为整数范围的列表或数组?
例如,假设我有:
my @numbers=(3,4,5,6,9,10,12,14,15,16,17);
Run Code Online (Sandbox Code Playgroud)
我想要一种方法来确定存在的数字范围是:
3-6,9-10,12,14-17
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过For循环检查来查看我们是否已达到两个数组元素之间的间隙等.但在我这样做之前,我想我会看到是否有一些紧凑的符号或核心功能会做到这一点.
我不想加载任何非核心库.我正在使用Cygwin Perl 5.22.
谢谢.
我有一个用C++创建程序的任务,它可以计算极长整数的数字.
我给了两个随机数a和b(1 <= a,b <= 10 ^ 16).我需要找到数字a ^ b(a到功率b)有多少位数.(我不需要知道数字本身,只知道它有多少位数)
关于如何解决这个问题我几乎没有什么想法,我想到的一种方法是创建一个单独的结构,它可以保存这些非常长的整数,并且可以对它们进行乘法运算,但是需要很长时间来进行乘法运算.时间,程序的时间限制为1秒.也许在C++中有某种功能或类似功能可以帮助我?
感谢您的帮助!
我有一个数字和小数位数.
i = 1138602
d = 2
Run Code Online (Sandbox Code Playgroud)
我想收到的结果应该是这样的:
11386.02
Run Code Online (Sandbox Code Playgroud)
我想到的最愚蠢的方式:
i = 1138602
d = 2
b = str(i)
i = Decimal(b.replace(b[-d], '.{}'.format(b[-d])))
Decimal('11386.02')
Run Code Online (Sandbox Code Playgroud)
哪种方式会更正确?
我想要一个函数,如果它小于10,则将数字舍入为10,如果它在10到1000之间,则舍入为100,依此类推.
这将有助于数字连接问题,所以我不必将数字转换为str和back.
def roundup(n):
if n < 0: return 0
if n < 10: return 10
if n < 100: return 100
if n < 1000: return 1000
if n < 10000: return 10000
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种自然的方法来做到这一点,而不只是将'if'放在一起
我想将两个可能具有不同最大位长的大整数编码为一个整数。第一个整数是有符号的(可以是负数),而第二个是无符号的(总是非负数)。如果位长度分别为m和n,则返回整数的位长度应小于或等于m + n。
只是n(但不是m)是预先已知的,并且是固定的。作为示例,将使用该解决方案将61+位的带符号纳秒时间戳与256位的无符号随机性相结合,以形成带符号的317+位唯一标识符。
我正在使用最新的Python。有一个相关的预先存在的问题,在特殊情况下()m == n解决此问题。