我假设这里发生的是他们从长处获取原始位,并将其视为无符号的64位数字.来自二进制补码的负值只是作为计数器的直线数字读取.
所以我试图弄清楚如何强制C#,只是将ulong直接放入长时间,因为这就是API所要的.但是C#在这里太有用了…你不能使用Convert.ToInt64(ulong)来抛出溢出异常,因为它的值太大了.我以这种转换方式偶然发现:
Convert.ToInt64(myulong.ToString(“X”),16)
当它从非基数10中的字符串转换时,它假定数字是二进制补码,并且我需要它.但是这不是理想的,因为它需要为每个转换分配一个对象并解析一个字符串,这个API将是性能关键的.在C#中有更好的方法吗?
解决方法 一个简单的演员像ulong value1 = 0xFEDCBA9876543210ul; // 18364758544493064720long value2 = (long)value1; // -81985529216486896ulong value3 = (ulong)value2; // 18364758544493064720
保留数值中的位.
总结以上是内存溢出为你收集整理的将位从ulong复制到C#全部内容,希望文章能够帮你解决将位从ulong复制到C#所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)