我一直试图找出如何表示一个最大整数,我已经阅读使用"sys.maxint"
.但是,在Python 3中,当我调用它时,我得到:
AttributeError: module 'object' has no attribute 'maxint'
Run Code Online (Sandbox Code Playgroud) 可能重复:
int32的最大值是多少?
Mobileno = Convert.ToInt32(txmobileno.Text);
Run Code Online (Sandbox Code Playgroud)
插入数据库时我得到的错误
我知道可能已经提出了一些类似的问题,但我找到的答案涵盖了非常具体的问题,我仍然没有想出来.
在我的程序中,我正在创建一个QObject(称为QPeer),它使用QTcpSocket通过网络与另一个这样的对象进行通信.QPeer有一个插槽,可以接受带有data(sendData(QByteArray)
)的QByteArray .该数组的全部内容被视为一个"消息",并将它们写入套接字.我想要执行以下操作:每次写入消息时,我都希望接收QPeer只发出dataReceived(QByteArray)
一次信号,即包含整个消息的QByteArray.(注意:所有信号/插槽,都是连接QPeer及其插座的私有信号/插槽,以及必要时sendData(QByteArray)
使用的序列化的公共信号/插槽Qt::QueuedConnection
.)
我使用信号QTcpSocket::readyRead()
从套接字异步读取.现在我知道我不能只QTcpSocket::write()
在sendData中调用一次,然后假设对于我做的每次写操作,另一端的QTcpSocket只生成一个readyRead信号.所以我该怎么做?
这是我的想法,请告诉我这是否有效:
写作:
void QPeer::sendData(QByteArray data)
{
// TODO: write data.size() as raw int of exactly 4 bytes to socket
const char *bytes = data.constData();
int bytesWritten = 0;
while (bytesWritten < data.size())
bytesWritten += _socket->write(bytes + bytesWritten);
}
Run Code Online (Sandbox Code Playgroud)
读:
现在我希望read函数(连接到QTcpSocket::readyRead()
)使用头(指定消息长度的4字节int),然后读取该字节数; 接下来用恰好那些字节发出dataReceived.我在尝试这样做时遇到了严重的麻烦.例如:如果发出readyRead怎么办,我可以读取消息的标题,但不是指定的字节数?或者如果仅部分收到标题会怎么样?
1.如何正确地将标头(4字节int)写入套接字?
2.如何正确实现读取功能,使其达到我想要的效果?
欢迎任何提示.谢谢!
我像这样的代码使用numpy
>>>import numpy as np
>>>a=np.arange(1,100000001).sum()
>>>a
987459712
Run Code Online (Sandbox Code Playgroud)
我猜结果必须是5000000050000000
我注意到,直到五个数字,结果还可以.有人知道发生了什么事吗?
问候
在C中是否始终可以转换int
为a float
,而不会float
成为+ Inf或-Inf等特殊值之一?
AFAIK的范围没有上限int
.
我认为int
对于具有IEEE754的平台来说,128位会导致问题,float
因为它的上限值大约为2的127次幂.
我知道,Int32.MaxValue * Int32.MaxValue
会产生一个大于的数字Int32
; 但是,这句话不应该提出某种例外吗?
在做IF (X * Y > Z)
所有事情的时候,我碰到了这个Int32
.X
并且Y
足够大,你会得到一个虚假的价值X * Y
.
为什么这样以及如何解决这个问题?除了把一切都投到了Int64
.
我编写了自己的面试风格问题,并对我解决方案的大问题提出了疑问.我将在下面说明问题和我的解决方案,但首先让我说明显的解决方案涉及嵌套循环并且是O(n 2).我相信我找到了一个O(n)解决方案,但后来我意识到它不仅取决于输入的大小,还取决于输入的最大值.看起来我的O(n)的运行时间只是技术性的,它可以很容易地在O(n 2)时间运行或在现实生活中更糟.
问题是:对于给定正整数数组中的每个项目,打印数组中所有其他项目,这些项目是当前项目的倍数.
示例输入:
[2 9 6 8 3]
Run Code Online (Sandbox Code Playgroud)
示例输出:
2: 6 8
9:
6:
8:
3: 9 6
Run Code Online (Sandbox Code Playgroud)
我的解决方案(在C#中):
private static void PrintAllDivisibleBy(int[] arr)
{
Dictionary<int, bool> dic = new Dictionary<int, bool>();
if (arr == null || arr.Length < 2)
return;
int max = arr[0];
for(int i=0; i<arr.Length; i++)
{
if (arr[i] > max)
max = arr[i];
dic[arr[i]] = true;
}
for(int i=0; i<arr.Length; i++)
{
Console.Write("{0}: ", arr[i]);
int …
Run Code Online (Sandbox Code Playgroud) 应使用什么数据类型来存储概率(因此从 0 到 1)?有没有比使用double
或float
带有值控制更有效的方法(0 \xe2\x89\xa4 x \xe2\x89\xa4 1
) 更有效的方法?
date("Y",1340896077)//1340896077 are the seconds till 2012 from 1970
Run Code Online (Sandbox Code Playgroud)
给出2012年这是正常的
And date("Y",1940896077)
Run Code Online (Sandbox Code Playgroud)
给出2031这也是正常的
但 date("Y",2240896077)
给1904年绝对不是正常的.它应该给2041年.
现在我想在php中对time()和date()进行一些解释.
一个非常简单的程序:逐行读取文件(每行包含整数)然后执行某些操作并将输出写入文件.
int main()
{
ifstream fin ("f:\in.txt");
ofstream fout ("f:\out.txt");
int a;
while (fin >> a) {
int b = (a >> 6) & 255;
fout << b << endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输入为多行,如下所示:
93859312
2635577168
2929619024
312396812
3019231016
3139200356
...
Run Code Online (Sandbox Code Playgroud)
但while
循环只迭代一次!! 和输出只包含
183
Run Code Online (Sandbox Code Playgroud)
这对应于第一个输入行.为什么???
using System;
public class Test
{
public static void Main()
{
int n = 600851475143;
int x = 1;
While (x<n)
{
if(n%x==0)
{
Console.WriteLine(x);
}
x++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
给我一个{不合适的错误,但我看不出什么是错的.任何人?
我有个问题.是否可以将X和Y点值类型从int更改为Int32?我有50 000像素宽的面板,我只能识别大约32k的X尺寸.
public void pictureBox2_Click(object sender, EventArgs e)
{
Point point = pictureBox2.PointToClient(MousePosition);
MessageBox.Show(point.ToString());
MessageBox.Show(point.X.ToString());
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码,我需要将X更改为Int32.有解决方案吗 提前致谢,