当前位置:  开发笔记 > 编程语言 > 正文

UInt32到Int32

如何解决《UInt32到Int32》经验,为你挑选了1个好方法。

如果我有一个返回Int32的VB.Net函数,但使用unsigned int(UInt32)进行计算等.如何将值为"3392918397"的变量"MyUintVar32"转换为VB.Net中的标准Int32 ?

在c#中,如果我只是执行"return(int)(MyUintVar32);",我得到-902048899,而不是错误.

我尝试了几种不同的方法.与VB.Net相比,c#处理这些转换的方式有何不同?



1> user687979..:

我意识到这是一个老帖子,但问题没有得到解答.我想知道的其他人:

Dim myUInt32 As UInt32 = 3392918397  
Dim myInt32 As Int32 = Convert.ToInt32(myUInt32.ToString("X"), 16)  

反向操作:

myUInt32 = Convert.ToUInt32(myInt32.ToString("X"), 16)

此外,可以创建一个联合结构,以便在Int32和UInt32之间轻松转换:

Imports System.Runtime.InteropServices

 _    
  Public Structure UnionInt32  
   _  
  Public IntValue As Int32  
   _  
  Public UIntValue As UInt32  
End Structure  

Dim MyUnionInt32 as UnionInt32  
MyUnionInt32.UIntValue = 3392918397  
Dim IntVal as Int32 = MyUnionInt32.UIntValue  '= -902048899 

反向操作:

MyUnionInt32.IntValue = -902048000  
Dim UIntVal as UInt32 = MyUnionInt32.UIntValue  '= 3392919296  

干杯,TENware

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有