问题标签 [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.
.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 会严重分割索引,我需要在运行结束时重建索引。
c# - C# 将大于 Int64 的数字转换为 HexaDecimal
我正在尝试在 C# 中将一个大数字(例如:9407524828459565063)转换为十六进制(例如:828E3DFD00000000)。
问题是该数字大于 Int64 的最大值。
我到处查找,找不到有效的解决方案。
这里有什么帮助吗?
谢谢你。
delphi - 如何声明一个 Int64 常量?
我正在尝试在 Delphi 中定义一个常量:
我得到错误:整数常数太大
注意:
14,695,981,039,346,656,037
十进制等于0x14650FB0739D0383
十六进制。
我怎样才能声明这个Int64
常数?
我尝试过的其他一些事情:
更正
我的基本假设是错误的。
粘贴14695981039346656037
到 Windows 7 Calculator 中,并转换为十六进制,让我相信十六进制等效14695981039346656037
于0x14650FB0739D0383
:
这是不正确的。
因此,当我看到一个 16 位十六进制值且高位未设置时,我认为它可以放入 64 位有符号整数。
实际上,十六进制等价物14695981039346656037
是……别的东西。罗布,你是对的!(大概)
json - go中int64的json解析;空值
我正在尝试在 Go 中解析一个 json 流。我创建了一个简化的示例:
这会给我
我在sql 包中找到了一个可为空的 int64 ,但 json 似乎无法处理它。
是否有 json 可以处理的可为空的 int64 类型?如果可能的话,我会对将 json null转换为 -1 或 MinValue感到满意。
谢谢你的意见,法比安
c++ - C++:如何检查,那个枚举只有唯一值
我们使用 VS 2008
有一个很大的枚举,由许多开发人员填充
这个枚举有一个类型 __int64 (微软扩展),我想让编译器抱怨枚举中的非唯一值。
如果这是一个通常的枚举,我会这样做:
如果 E1 有 2 个相同的值,函数 F 会出错
如果开发人员忘记添加新值来切换,它会出现另一个错误
但我的枚举类型为 __int64 (或 long long)
当我尝试为 E1 e1 执行相同的开关时,它会截断值并抱怨值,差异是 0x100000000 或 0x200000000 ....
如果我将 e1 转换为 __int64,编译器不会抱怨,如果开发人员忘记向开关添加新值(因此整个检查功能变得无用)
问题:有人知道我能做些什么吗?或者也许VS 2008(或C++)有另一种工具来确保枚举:__int64 只有唯一值?
c++ - 将 C++ 转换为 python - memcpy uchar 转换为 int64
好的,我正在复制一些需要在我的服务器(Python)上运行的代码(C++),直到下面的那一点,一切都很顺利。
简而言之,这是我在 C++ 程序中的内容:
所以是的,它创建了一些 char 数组,然后将值复制到 int64 中。
现在我的问题是:我如何在 Python 中做到这一点?我的意思是,我有相当于 pb 的字节串,但我不知道从那里去哪里(特别是因为所有这些零......)
c# - 使用 Int64 进行位移
需要移动 Int64 变量。我正在从数据库文件中解析伪数学函数。变量是 uint32 或 int32,所以我确实将它们放入 Int64 以平等地处理它们而不会丢失任何东西。在我的一个树节点中,我需要对 Int64 进行位移。
不幸的是,移位运算符不适用于 Int64。是否有一种我不知道的标准位移 Int64 方法?
jquery - JSON Int64 数据随机翻转/更改
我正在使用 jquery 从我的网络服务器获取 json 数据。当我检查返回的 Fiddler 数据时,一切看起来都很正常。但是,当我在 Chrome/IE/ 或 Safari 中开始调试时,我注意到一些值发生了变化。例如,从服务器发送的 Int64 值为:10150987224093521。但是,当我调试时,我看到它为 1015098722409352* 0 * 该值始终减一。Fiddler 显示正确的值,即:10150987224093521。它随机发生。我找不到合乎逻辑的理由。关于为什么会发生这种情况的任何想法或暗示?
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,低于两个最大值。那为什么我会得到这些结果?
我在这里完全迷失了,我们将不胜感激。
php - 如何在 php 中使用 Int64(long) 而不是字符串?
如何在 dotnet、java、c++ 等 php 中使用 Int64?
例如:
mysql 中的数据类型是 bigint(20),我想从 php 中保存值。我知道一种解决方案是在 mysql 程序中使用字符串。
表壳:
mysql程序案例:
php代码案例:
上面的方法是可以的,但是我不想这样做。还有其他解决方案吗?
示例 2:
我想使用 PHP 读取 MYSQL 数据输出 JSON 代码,如下所示:
但不是 :
我不知道该怎么办?