问题标签 [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.
c# - 从 Sqlite 中检索 ulong 导致 NotSupportedException
我已经通过控制台应用程序将一些哈希值(如 ulong)保存到 Sqlite 数据库中。现在我想在 Windows 应用商店应用程序中检索这些值,不幸的是我收到 NotSupportedException 说“不知道如何阅读 System.UInt64”。我不能在我的数据库中使用 ulong 值吗?数据库已填充,哈希字段似乎确实是 ulong,至少这是 Database .NET 告诉我的。
c# - C# - 从 hex/ulong 值转换为字符串的重要部分
如何将十六进制/超长数字的重要部分作为字符串?
例如,如果我有 0x00000321321,我想得到“321321”。
如果我尝试类似:
我明白593700707
了,所以这不是我想要的。
那可能吗 ?
谢谢!
c# - C# 相当于 C++ 中的 64 位 unsigned long long
我正在构建一个 DLL,它将由 C++ 使用 COM 使用。请让我知道 C# 相当于 C++ 64-bit unsigned long long
。
它会是 C# 中的 ulong 类型吗?请确认。
谢谢,加根
c# - 奇怪的 C# 平台调用/DLLImport 行为
我在我的项目中使用 引用了一个非托管 DLL [DLLImport]
,但是当我匹配方法签名时收到奇怪的结果。
这是来自 DLL 的示例签名:
这是我导入函数的 C# 代码:
请注意,我使用返回类型声明它uint
,因为当我尝试使用时ulong
会得到意想不到的结果(长数字通常看起来有点像内存地址)。
但是,如果我使用int
/的返回类型,该函数可以工作并返回预期的结果uint
。任何人都可以为我阐明这种行为吗?
谢谢。
c# - 如何 C# 将 ulong 转换为 DateTime?
在我的 C# 程序中,我从 PLC 接收日期时间。它以“ ulong ”格式发送数据。如何将 ulong 转换为 DateTime 格式?例如我收到:
然后我需要将其转换为 DateTime ("MM/dd/yyyy hh:mm:ss") 格式。
我该如何解决这个问题?
oracle - Oracle 客户端抛出带有 ulong 参数的 ArgumentException
我需要在Oracle 数据库中插入一个ulong
(即)数字,但我正在运行一个. 我将它插入一列,我向自己保证应该能够存储从 0 到 2^64-1 的任何数字。 UInt64
ArgumentException
NUMBER
这是一个将重现错误的最小示例:
valueToInsert
如果是任何其他整数类型(包括),则此代码可以正常工作long
,但是当我尝试使用 时ulong
,我收到以下错误:
为什么会这样?
PS 我已经尝试使用 Oracle.DataAccess 2.112.1.2 和 Oracle.ManagedDataAccess 4.212.1.0。
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)
c# - 运算符“<”不能应用于“long”和“ulong”类型的操作数
我使用了 redgate 的 .NET Reflector 8,并使用了将 .dll 导出到 C# 文件的功能,但我遇到了一种错误情况,我不知道如何修复此错误。
错误状态:错误 36 运算符“<”不能应用于“long”和“ulong”类型的操作数
我知道错误与按位有关,但我不确定如何解决具体情况。
这是错误的快照:
解决此类错误的最佳方法是什么?
c# - ulong 的按位否定运算符返回 uint
我想删除 ulong 的最后一组位。这就是我所做的:
问题是这并不像宣传的那样工作。我们再做一个实验:
输出不会01111111111111111111111111111111111111111111111111111111111111
像预期的那样,但是0111111111111111111111111111111100000000000000000000000000000000
。看来,按位不会将 ulong 转换为 uint 或其他东西。
解决此问题的最佳方法是什么?
c# - 无法将类型“long”隐式转换为“ulong”。(+随机乌龙)
我一直在声明一个带有 ulong 参数的类,但是当我想在构造函数中分配它时,程序告诉我,出了点问题,但我不明白是什么。是乌龙类型,我不希望他转换任何东西。
如果你能告诉我这个随机 ulong 的声明是否正确,它应该首先随机化 int(32 位)并将它们存储在 ulong 的前 32 位中,然后做新的随机数并将它们存储在第二个 32 位中。