问题标签 [int64]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6645 浏览

.net - 将两个 Int32 组合成一个 Int64

有经常使用的 Dictionary <Int64, byte>。我的意思是在大数据负载中运行数天的循环中。Int64 来自两个 Int32。该字节恰好是许多非常长的列表中这两个 Int32 之间的距离(计数)。

在这个循环中我需要做的是

  • 生成密钥
  • 如果字典中不存在键,则插入键和值
  • 如果键确实存在并且新值(字节)小于现有值,则将现有值替换为新值

现在我正在使用直接数学来生成密钥,我知道有更快的方法,但我无法弄清楚。我把 shift 作为一个标签,因为我认为这是如何优化它,但我无法弄清楚。

然后当循环完成时,我需要从 Int64 中提取两个 Int32 以将数据插入到数据库中。

谢谢

每个评论我用来将两个 Int32 组合成一个 Int64 的数学

最好的密钥可能不是 Int64。我所拥有的是两个 Int32,它们共同构成一个密钥。和一个字节的值。我需要快速查找该复合键。字典很快,但它不支持复合键,所以我创建了一个实际上是复合键的单个键。在 SQL Int32A 中,Int32B 形成 PK。

我不使用复合键的原因是我想要 Dictionary 的查找速度,并且据我所知 Dictionary 不支持复合键。这是生产代码。在 SQL 表中实际上还有第三个键(Int32 sID、Int32 IntA、Int32 IntB)。在这个解析器中,我一次只处理一个 sID(并且 sID 是按顺序处理的)。我从对 SQL 的复合键查找开始(一次运行数十亿次)。当我将 IntA、IntB 拉出到 Dictionary 以处理单个 sID,然后在每个 sID 完成时加载到 SQL,我得到了 100:1 的性能提升。部分性能改进是插入,因为当我从字典中插入时,我可以按 PK 顺序插入。新的 IntA 和 IntB 不是由解析生成的,因此直接插入 SQL 会严重分割索引,我需要在运行结束时重建索引。

0 投票
3 回答
3285 浏览

c# - C# 将大于 Int64 的数字转换为 HexaDecimal

我正在尝试在 C# 中将一个大数字(例如:9407524828459565063)转换为十六进制(例如:828E3DFD00000000)。

问题是该数字大于 Int64 的最大值。

我到处查找,找不到有效的解决方案。

这里有什么帮助吗?

谢谢你。

0 投票
5 回答
4637 浏览

delphi - 如何声明一个 Int64 常量?

我正在尝试在 Delphi 中定义一个常量:

我得到错误:整数常数太大

注意: 14,695,981,039,346,656,037十进制等于0x14650FB0739D0383十六进制。

我怎样才能声明这个Int64常数?

我尝试过的其他一些事情:

更正

我的基本假设是错误的。

粘贴14695981039346656037到 Windows 7 Calculator 中,并转换为十六进制,让我相信十六进制等效146959810393466560370x14650FB0739D0383

在此处输入图像描述

这是不正确的。

因此,当我看到一个 16 位十六进制值且高位未设置时,我认为它可以放入 64 位有符号整数。

实际上,十六进制等价物14695981039346656037是……别的东西。罗布,你是对的!(大概)

0 投票
2 回答
9787 浏览

json - go中int64的json解析;空值

我正在尝试在 Go 中解析一个 json 流。我创建了一个简化的示例:

这会给我

我在sql 包中找到了一个可为空的 int64 ,但 json 似乎无法处理它。

是否有 json 可以处理的可为空的 int64 类型?如果可能的话,我会对将 json null转换为 -1 或 MinValue感到满意。

谢谢你的意见,法比安

0 投票
2 回答
1404 浏览

c++ - C++:如何检查,那个枚举只有唯一值

我们使用 VS 2008

有一个很大的枚举,由许多开发人员填充

这个枚举有一个类型 __int64 (微软扩展),我想让编译器抱怨枚举中的非唯一值。

如果这是一个通常的枚举,我会这样做:

如果 E1 有 2 个相同的值,函数 F 会出错

如果开发人员忘记添加新值来切换,它会出现另一个错误

但我的枚举类型为 __int64 (或 long long)

当我尝试为 E1 e1 执行相同的开关时,它会截断值并抱怨值,差异是 0x100000000 或 0x200000000 ....

如果我将 e1 转换为 __int64,编译器不会抱怨,如果开发人员忘记向开关添加新值(因此整个检查功能变得无用)

问题:有人知道我能做些什么吗?或者也许VS 2008(或C++)有另一种工具来确保枚举:__int64 只有唯一值?

0 投票
2 回答
863 浏览

c++ - 将 C++ 转换为 python - memcpy uchar 转换为 int64

好的,我正在复制一些需要在我的服务器(Python)上运行的代码(C++),直到下面的那一点,一切都很顺利。

简而言之,这是我在 C++ 程序中的内容:

所以是的,它创建了一些 char 数组,然后将值复制到 int64 中。

现在我的问题是:我如何在 Python 中做到这一点?我的意思是,我有相当于 pb 的字节串,但我不知道从那里去哪里(特别是因为所有这些零......)

0 投票
2 回答
8041 浏览

c# - 使用 Int64 进行位移

需要移动 Int64 变量。我正在从数据库文件中解析伪数学函数。变量是 uint32 或 int32,所以我确实将它们放入 Int64 以平等地处理它们而不会丢失任何东西。在我的一个树节点中,我需要对 Int64 进行位移。

不幸的是,移位运算符不适用于 Int64。是否有一种我不知道的标准位移 Int64 方法?

0 投票
1 回答
598 浏览

jquery - JSON Int64 数据随机翻转/更改

我正在使用 jquery 从我的网络服务器获取 json 数据。当我检查返回的 Fiddler 数据时,一切看起来都很正常。但是,当我在 Chrome/IE/ 或 Safari 中开始调试时,我注意到一些值发生了变化。例如,从服务器发送的 Int64 值为:10150987224093521。但是,当我调试时,我看到它为 1015098722409352* 0 * 该值始终减一。Fiddler 显示正确的值,即:10150987224093521。它随机发生。我找不到合乎逻辑的理由。关于为什么会发生这种情况的任何想法或暗示?

0 投票
2 回答
1280 浏览

c++ - Visual Studio 2010 SP1 中的 64 位整数初始化错误

我有一个奇怪的错误/错误/自我愚蠢问题。我正在用 C 语言开发一个小型应用程序,并且正在使用 Visual Studio 2010 SP1。违规代码:

调试时,我得到以下结果:

问题是,为什么?uint64_t 的最大值为 2^64-1 或 18446744073709551615,int64_t 的最大值为 2^63-1 或 9223372036854775807。

65535*65535*64 = 274869518400,低于两个最大值。那为什么我会得到这些结果?

我在这里完全迷失了,我们将不胜感激。

0 投票
1 回答
12138 浏览

php - 如何在 php 中使用 Int64(long) 而不是字符串?

如何在 dotnet、java、c++ 等 php 中使用 Int64?

例如:

mysql 中的数据类型是 bigint(20),我想从 php 中保存值。我知道一种解决方案是在 mysql 程序中使用字符串。

表壳:

mysql程序案例:

php代码案例:

上面的方法是可以的,但是我不想这样做。还有其他解决方案吗?

示例 2:

我想使用 PHP 读取 MYSQL 数据输出 JSON 代码,如下所示:

但不是 :

我不知道该怎么办?