问题标签 [ulong]

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 投票
1 回答
1631 浏览

c# - 从 Sqlite 中检索 ulong 导致 NotSupportedException

我已经通过控制台应用程序将一些哈希值(如 ulong)保存到 Sqlite 数据库中。现在我想在 Windows 应用商店应用程序中检索这些值,不幸的是我收到 NotSupportedException 说“不知道如何阅读 System.UInt64”。我不能在我的数据库中使用 ulong 值吗?数据库已填充,哈希字段似乎确实是 ulong,至少这是 Database .NET 告诉我的。

0 投票
4 回答
1147 浏览

c# - C# - 从 hex/ulong 值转换为字符串的重要部分

如何将十六进制/超长数字的重要部分作为字符串?

例如,如果我有 0x00000321321,我想得到“321321”。

如果我尝试类似:

我明白593700707了,所以这不是我想要的。

那可能吗 ?

谢谢!

0 投票
4 回答
30092 浏览

c# - C# 相当于 C++ 中的 64 位 unsigned long long

我正在构建一个 DLL,它将由 C++ 使用 COM 使用。请让我知道 C# 相当于 C++ 64-bit unsigned long long

它会是 C# 中的 ulong 类型吗?请确认。

谢谢,加根

0 投票
1 回答
474 浏览

c# - 奇怪的 C# 平台调用/DLLImport 行为

我在我的项目中使用 引用了一个非托管 DLL [DLLImport],但是当我匹配方法签名时收到奇怪的结果。

这是来自 DLL 的示例签名:

这是我导入函数的 C# 代码:

请注意,我使用返回类型声明它uint,因为当我尝试使用时ulong会得到意想不到的结果(长数字通常看起来有点像内存地址)。

但是,如果我使用int/的返回类型,该函数可以工作并返回预期的结果uint。任何人都可以为我阐明这种行为吗?

谢谢。

0 投票
1 回答
6342 浏览

c# - 如何 C# 将 ulong 转换为 DateTime?

在我的 C# 程序中,我从 PLC 接收日期时间。它以“ ulong ”格式发送数据。如何将 ulong 转换为 DateTime 格式?例如我收到:

然后我需要将其转换为 DateTime ("MM/dd/yyyy hh:mm:ss") 格式。

我该如何解决这个问题?

0 投票
1 回答
2597 浏览

oracle - Oracle 客户端抛出带有 ulong 参数的 ArgumentException

我需要在Oracle 数据库中插入一个ulong(即)数字,但我正在运行一个. 我将它插入一列,我向自己保证应该能够存储从 0 到 2^64-1 的任何数字。 UInt64ArgumentExceptionNUMBER

这是一个将重现错误的最小示例:

valueToInsert如果是任何其他整数类型(包括),则此代码可以正常工作long,但是当我尝试使用 时ulong,我收到以下错误:

为什么会这样?

PS 我已经尝试使用 Oracle.DataAccess 2.112.1.2 和 Oracle.ManagedDataAccess 4.212.1.0。

0 投票
2 回答
602 浏览

c# - 快速二进制数字计数器 64 位数字 c#

我试图在任何地方找到解决方案。我的要求是找到一个非常快速的算法代码,以便获取无符号 64 位整数(ulong)的二进制表示中的位数。

例如:

我现在找到了两种方法来获得这个。

  • 通过在字符串中修剪二进制表示,并使用“.Length”属性。
  • 通过获得不通过数字的 2 的最大幂。结果是二进制表示的最后一个位置,如果加上 1(表示 2^0),还表示位数

两种方式都很好,但是当数字很大时计算时间太长。在 10.000.000.000(100 亿)之后,您必须以秒而不是毫秒为单位计算所花费的时间,这对其余代码的性能非常不利。

非常感谢和抱歉关于演示文稿,这是用手机写的,我没有所有工具来把这个更漂亮和更正确。

编辑 1

通过深入了解Bithacks网站并将速度作为第一要务。我想我将在De Bruijn 序列实现中使用查找表方法。

正如我在这里发现的那样:2^6 的 64 位查找表应该是这样的。

基于此,来自 Stackoverflow 的用户“R..”,他制作了自己的参数,在 C# 中应该是这样的:

结果确实很快但错误,我不知道为什么。PD:如您所见,“0x022fdd63cc95386dull”用于 128 位,C# 的可接受代码为“0x022fdd63cc95386d”。与此处的查找表中出现的相同。

我认为因为我不能在 C# 中使用“0x022fdd63cc95386dull”,所以我必须使用另一个数字而不是 58,或者可能是一个完全不同的十六进制 64 位乘法器。

至此,对于输入数字:17012389719861204799(使用 64 位)

  • 使用 pow2 方法,我在 1380 毫秒内得到了 64 1 百万次的结果。
  • 使用 DeBruijn 方法,我在 32 毫秒内得到了 40 1 百万次的结果。(不知道为什么40)
0 投票
1 回答
2145 浏览

c# - 运算符“<”不能应用于“long”和“ulong”类型的操作数

我使用了 redgate 的 .NET Reflector 8,并使用了将 .dll 导出到 C# 文件的功能,但我遇到了一种错误情况,我不知道如何修复此错误。

错误状态:错误 36 运算符“<”不能应用于“long”和“ulong”类型的操作数

我知道错误与按位有关,但我不确定如何解决具体情况。

这是错误的快照:

在此处输入图像描述

解决此类错误的最佳方法是什么?

0 投票
1 回答
696 浏览

c# - ulong 的按位否定运算符返回 uint

我想删除 ulong 的最后一组位。这就是我所做的:

问题是这并不像宣传的那样工作。我们再做一个实验:

输出不会01111111111111111111111111111111111111111111111111111111111111像预期的那样,但是0111111111111111111111111111111100000000000000000000000000000000。看来,按位不会将 ulong 转换为 uint 或其他东西。

解决此问题的最佳方法是什么?

0 投票
2 回答
1905 浏览

c# - 无法将类型“long”隐式转换为“ulong”。(+随机乌龙)

我一直在声明一个带有 ulong 参数的类,但是当我想在构造函数中分配它时,程序告诉我,出了点问题,但我不明白是什么。是乌龙类型,我不希望他转换任何东西。

如果你能告诉我这个随机 ulong 的声明是否正确,它应该首先随机化 int(32 位)并将它们存储在 ulong 的前 32 位中,然后做新的随机数并将它们存储在第二个 32 位中。