首页 新闻 会员 周边 捐助

C#十六进制转换在线求助!!!!

0
悬赏园豆:140 [已解决问题] 解决于 2015-09-17 15:50

请问如何用C#将十六进制 EC 运算成 2C ??

厂商说E的十六进制是1110 ,2的二进制是0010 通过位运算。

小弟不会,求解。。。。

 

应用场景是:有一串十六进制字符转成十进制卡号(这个会转),厂商说十六进制中的两位(如EC)跟0X3fffffff按位与操作取交集(C或C++的表述),EC取交集后是2C,小弟这是个什么规则啊。。。。

问题补充:

逍然的主页 逍然 | 初学一级 | 园豆:3
提问于:2015-09-17 14:38
< >
分享
最佳答案
1

只是将ec转成2c?,2c也不是十进制呀

 

long t = 0xecc266d1;
long q = 0x3fffffff;
string s = string.Format("{0:X}", t & q);
//s就是你需要的
收获园豆:130
MrNice | 老鸟四级 |园豆:3468 | 2015-09-17 14:43

请问这样把string ecc266d1转成 0xecc266d1 格式

逍然 | 园豆:3 (初学一级) | 2015-09-17 15:18

@逍然: 你想得到这样结果用来做什么,你要么用十进制来表示,要么用string来表示十六进制

MrNice | 园豆:3468 (老鸟四级) | 2015-09-17 15:22

@MrNice: 步骤是这样的

1.取到16进制字符串

2.上面厂商所说好像按位与操作取交集(把EC变成2C)

3.把第2步拼接好的字符串转成十进制 编号

逍然 | 园豆:3 (初学一级) | 2015-09-17 15:29

@逍然: 0xecc266d1 是什么进制的 我怎样需要把string str="ECC266D1"; 转成 long t = 0xecc266d1;

逍然 | 园豆:3 (初学一级) | 2015-09-17 15:34

@逍然:0xecc266d1本身十六进制的,但是你要想看到这样的结果只能用string来表示,

你要想得到编号,直接这样就行了

long clientID = t & q;
MrNice | 园豆:3468 (老鸟四级) | 2015-09-17 15:43

@逍然: 

long r = Convert.ToInt64("0xecc266d1",16);
MrNice | 园豆:3468 (老鸟四级) | 2015-09-17 15:49

太感谢了,我按照你的方法好像成功了,我把我所有的圆豆给你吧!

逍然 | 园豆:3 (初学一级) | 2015-09-17 15:49

@逍然: 谢谢大神,自己基础不好,基础点都忘了

逍然 | 园豆:3 (初学一级) | 2015-09-17 15:51
其他回答(2)
0

//将十六进制“10”转换为十进制i
int i = Convert.ToInt32("10", 16);
//将十进制i转换为十六进制s
string s = string.Format("{0:X}", i);

收获园豆:4
✎﹏ℳ๓₯㎕ღ | 园豆:1499 (小虾三级) | 2015-09-17 14:53
0

E的2进制是1110   而且你要进行的是什么运算实在是猜不透...

收获园豆:4
吴瑞祥 | 园豆:29449 (高人七级) | 2015-09-17 14:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册