计算小问题

shizhu820228 2011-03-09 10:26:34
C里面:
0x6EAD = 0x190A XOR 0x09 + 0x55AA
我在C#里面这样计算

int d1 = 0x190A;
int d2 = 0x09;
int d3 = 0x55AA;
int d4 = d1 ^ d2 + d3;
Convert.ToString(d4,16);

结果=4cb9

怎么才能得到C里面的值"0x6EAD "
...全文
87 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shizhu820228 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lizhibin11 的回复:]
C# code

short d1 = 0x190A;
short d2 = 0x09;
short d3 = 0x55AA;
short d4 = (short)((short)(d1 ^ d2) + d3);
Convert.ToString(d4, 16);
……
[/Quote]

谢了,哥们。我刚才试了,好用。
后来又试一下,和类型没太大关系。是主的是 ^ 运算顺序错了,先做加法了哈,谢谢提醒。改成下面也好用。
int d1 = 0x190A;
int d2 = 0x09;
int d3 = 0x55AA;
int d4 = (d1 ^ d2) + d3;
Convert.ToString(d4,16);
lizhibin11 2011-03-09
  • 打赏
  • 举报
回复

short d1 = 0x190A;
short d2 = 0x09;
short d3 = 0x55AA;
short d4 = (short)((short)(d1 ^ d2) + d3);
Convert.ToString(d4, 16);
shizhu820228 2011-03-09
  • 打赏
  • 举报
回复
555,来人帮忙啊,会的看一眼就知道咋回事了
shizhu820228 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 libinguest 的回复:]
C#里用byte来存储计算,得到就是你要的值
[/Quote]
不明白,byte怎么计算呢,帮着小改一下呗,就几个数的问题
风之影子 2011-03-09
  • 打赏
  • 举报
回复
C#里用byte来存储计算,得到就是你要的值
shizhu820228 2011-03-09
  • 打赏
  • 举报
回复
小问题,大家帮个忙哈

110,554

社区成员

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

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

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