C# 16进制取反的问题

zyslh 2015-02-28 03:44:44
int d = Convert.ToInt32(“23”,16);//16进制的23
d=~d;
d.ToString("X"); // 输出十六进制

得到的结果是“FFFFFFDC”。应该返回"DC"才对,这应该怎么解决?谢谢各位了!
...全文
638 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyslh 2015-02-28
  • 打赏
  • 举报
回复
谢谢!忘记位数了,
  • 打赏
  • 举报
回复
Console.WriteLine(Int32.MaxValue.ToString("X")); 因为Int32有这么长啊
static void Main(string[] args)
        {
            sbyte d = Convert.ToSByte("23", 16);
            Console.WriteLine(d);
            Console.WriteLine(SByte.MaxValue.ToString("X"));
            d = (sbyte)~d;
            Console.WriteLine(d.ToString("X"));
            Console.ReadLine();
        }

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧