gpt4 book ai didi

C# 日期类型转换与 C++ 相同

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:21:54 24 4
gpt4 key购买 nike

如何将 ulong 转换为 long 并获得与在 C++ 中相同的结果。

C++

unsigned long ul = 3633091313;
long l = (long)ul;
l is -661875983

C#

ulong ul = 3633091313;
long l = (long)ul;
l is 3633091313

最佳答案

C++ 的 long 通常是 32 位数据类型。看起来在您的系统中它没有足够的位来表示 3633091313,因此结果是否定的。此行为在 C++ ( relevant Q&A) 中未定义。

在C#中对应转换为int:

UInt64 ul = 3633091313UL;
Int32 l = (int)ul;
Console.WriteLine(l); // prints -661875983

Demo.

关于C# 日期类型转换与 C++ 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48672565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com