17

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

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

谢谢,加根

4

4 回答 4

18

也许这会帮助你:

  • ulong(64 位无符号整数)
  • double(64 位浮点数)。
于 2013-09-17T13:49:08.800 回答
3

对于超出范围的任何内容ulong,您不妨使用 C#BigInteger结构

于 2015-08-28T12:50:15.137 回答
0

在 C++ 中,每个整数类型在 64 位机器上运行时,其大小都会增加一倍,而不是在 32 位机器上运行。
因此,声明 C# intorlong可能等同于 C++ intorlong是不正确的。

相反,在 C# 中有一种称为 的类型IntPtr,它是专门为 P/Invoke 制作的。实际上,它的大小从 32 位机器上的 4 个字节更改为 64 位机器上的 8 个字节,因此这是 C++unsigned long或 Windows的正确等价物ULONG

于 2019-08-28T06:29:24.033 回答
-7

从 C++11 开始,您可以使用这些:

  • int8_t
  • int16_t
  • int32_t
  • int64_t
  • uint8_t
  • uint16_t
  • uint32_t
  • uint64_t

无论如何,它们的大小都保证保持不变。

http://en.cppreference.com/w/cpp/types/integer

于 2013-09-17T13:57:57.087 回答