请问如何用C#将十六进制 EC 运算成 2C ??
厂商说E的十六进制是1110 ,2的二进制是0010 通过位运算。
小弟不会,求解。。。。
应用场景是:有一串十六进制字符转成十进制卡号(这个会转),厂商说十六进制中的两位(如EC)跟0X3fffffff按位与操作取交集(C或C++的表述),EC取交集后是2C,小弟这是个什么规则啊。。。。
只是将ec转成2c?,2c也不是十进制呀
long t = 0xecc266d1; long q = 0x3fffffff; string s = string.Format("{0:X}", t & q);
//s就是你需要的
请问这样把string ecc266d1转成 0xecc266d1 格式
@逍然: 你想得到这样结果用来做什么,你要么用十进制来表示,要么用string来表示十六进制
@MrNice: 步骤是这样的
1.取到16进制字符串
2.上面厂商所说好像按位与操作取交集(把EC变成2C)
3.把第2步拼接好的字符串转成十进制 编号
@逍然: 0xecc266d1 是什么进制的 我怎样需要把string str="ECC266D1"; 转成 long t = 0xecc266d1;
@逍然:0xecc266d1本身十六进制的,但是你要想看到这样的结果只能用string来表示,
你要想得到编号,直接这样就行了
long clientID = t & q;
@逍然:
long r = Convert.ToInt64("0xecc266d1",16);
太感谢了,我按照你的方法好像成功了,我把我所有的圆豆给你吧!
@逍然: 谢谢大神,自己基础不好,基础点都忘了
//将十六进制“10”转换为十进制i
int i = Convert.ToInt32("10", 16);
//将十进制i转换为十六进制s
string s = string.Format("{0:X}", i);
E的2进制是1110 而且你要进行的是什么运算实在是猜不透...