标签: long-integer

无符号长长的算术

我想将两个相乘,unsigned integers但我希望结果存在于一个unsigned long long变量中

unsigned long long M;
unsigned int X;
unsigned int Y;

X = 999999;
Y = 9990;
M = X * Y;
Run Code Online (Sandbox Code Playgroud)

M应该9989990010但由于某种原因它一直存在1400055418

我已经困扰了一个星期了,我想我已经到了想哭的地步!

c++ unsigned visual-c++ long-integer

0
推荐指数
1
解决办法
1950
查看次数

C#中的长变量,为什么在超过限制时会返回负值

我提出了一个解决阶乘的应用程序,当我输入一个长度超过20位数的long变量时,它会返回一个负数.我想知道为什么longC#中的变量在超过限制时会返回负值?它应该是这样的吗?

c# long-integer

0
推荐指数
1
解决办法
3148
查看次数

java long数据类型转换为无符号值

我正在将一些C++代码移植到Java代码中.

java中没有无符号数据类型,可以容纳64位.

我有一个哈希码,它存储在Java的long数据类型中(当然是签名的).

long vp = hashcode / 38; // hashcode is of type 'long'
Run Code Online (Sandbox Code Playgroud)

由于此处的38大于2,因此结果数可以安全地用于java中的任何其他算术.

问题是如果'hashcode'中的signed bit设置为1.我不想在变量vp中得到负值.我想要一个正值,好像数据类型是无符号的.

PS:由于性能问题,我不想为此目的使用Biginteger.

java unsigned long-integer

0
推荐指数
1
解决办法
414
查看次数

使用Java Scanner读取长类型 - 字符限制?

我正在尝试使用Java Scanner从文本文件(File.txt)中读取20位长.

java.util.Scanner filereader = new java.util.Scanner(new File("File.txt"));
longNumber = (long) filereader.nextLong();
Run Code Online (Sandbox Code Playgroud)

这将返回以下错误:

Exception in thread "main" java.util.InputMismatchException: For input string: "37107287533902102798"
at java.util.Scanner.nextLong(Scanner.java:2271)
at java.util.Scanner.nextLong(Scanner.java:2225)
at scanner.Scanner.main(Scanner.java:14)
Run Code Online (Sandbox Code Playgroud)

当我将数字的长度减少到19位或更少时,它运行得很好.有人可以解释我如何使用20+数字吗?

java java.util.scanner long-integer

0
推荐指数
1
解决办法
990
查看次数

在什么情况下可以在C中使用long int

在我的机器中,我得到以下结果:

sizeof(long) = 8

sizeof(long int) = 8
Run Code Online (Sandbox Code Playgroud)

在哪里使用long int,为什么不使用int

c int long-integer

0
推荐指数
1
解决办法
2496
查看次数

如果长得太大,Java如何解析一个长的int?

java如何计算这个?

int number = (int) Long.parseLong("F9DFF755", 16);

Long.parseLong("F9DFF755", 16); == 4192204629 (too big to be stored by an int)
Casted to int : -102762667
Run Code Online (Sandbox Code Playgroud)

java如何强制插入int?

java int long-integer

0
推荐指数
1
解决办法
164
查看次数

Java parseInt vs parseLong

String a = "576055795"; 

long b = 10*Integer.parseInt(a);

long c = 10*Long.parseLong(a);

System.out.println(b); //Prints 1465590654 
System.out.println(c); // Prints 5760557950
Run Code Online (Sandbox Code Playgroud)

他们为什么不同?

java integer long-integer

0
推荐指数
1
解决办法
1万
查看次数

C++ unsigned long在4294967295之后不会回滚

我正在玩一些c ++代码,发现如果我用4294967295(它的最大允许值)开始一个unsigned long并添加让我们说6我必须得到5,它确实!但是以下添加操作,而mod 255没有给出正确的答案.为什么会这样,以及如何避免?

Plataforms经过测试:
Windows 7,Visual Studio c ++:工作正常;
CentOS版本6.6(最终版),g ++:给出错误的答案;
请参阅下面的代码注释:

#include <stdio.h>
int main(int argc, char *argv[])  {
   unsigned long s1=4294967295;
   unsigned long vp=245;
   unsigned long a;
   unsigned long b;
   unsigned long result;

   /* s1 is 4294967295 + 6 wich is 5  */
   s1+=6;
   a=s1;
   b=255*vp*s1;
   result = (a + b) % 255;
   printf("s1=%u , a=%u , b=%u , (a+b)=%u , (a+b)%255= %u\n", s1, a, b, a + b, result);

   /* s1 is a static value 5 …
Run Code Online (Sandbox Code Playgroud)

c++ integer g++ visual-c++ long-integer

0
推荐指数
1
解决办法
542
查看次数

什么是C类型的Python等价的float,double和long?

这些C类型的Python等价物是什么:

float
double 
long
Run Code Online (Sandbox Code Playgroud)

我想float在以上三种形式中代表一种.

c python floating-point double long-integer

0
推荐指数
1
解决办法
6234
查看次数

Clojure值超出范围

我有一个简单的电源功能,我想用两个大数字做这样的事情:

(def y 19859145917581983573N)
(def p 27829350753993985481N)
(defn power
  [x n]
  (reduce *' (repeat n x))
  )
(power y p)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

IllegalArgumentException Value out of range for long: 27829350753993985481  clojure.lang.RT.longCast (RT.java:1210)
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题?

clojure integer-overflow long-integer

0
推荐指数
1
解决办法
195
查看次数