【发布时间】:2014-04-24 07:43:58
【问题描述】:
我正在尝试将 Int64.MinValue (-0x8000000000000000) 写为负十六进制,但 Visual Studio 2010 不允许我这样做,因为它假定 0x8000000000000000 必须是 ulong 文字,并且无符号数不能为负数。有解决方法吗?我注意到在另一个线程中使用了 checked 关键字,但它并没有解决这个问题。在这种情况下,我真的很想使用十六进制表示法而不是十进制。
有趣的是,十进制表示法不会发生这种情况。
【问题讨论】:
-
你能把结果乘以-1吗(不确定它是否会起作用,因为你错过了符号位)
-
我不能。这是确切的错误:运算符“-”不能应用于“ulong”类型的操作数
-
只是出于好奇:将值表示为十六进制文字的具体原因是什么?
-
十六进制在我使用位运算符的上下文中更明智。
标签: c# visual-studio-2010 hex