16进制转10进制
不敢想多完备,可能暗藏Bug,不过先记下来。
一个8bit的16进制数: unsigned char nSource = 0xFB; 想起了老师说的,负数等于正数取反加一。则(~nSource)+0x1,同时,为了保存结果,要把unsigned转成signed的,所以
char nResult = (char)((~nSource)+0x1);然而在一开始也需要判断只有负数才进行这个操作。
unsigned char nSource = 0xFB;char nResult = 0;if(((nSource>>7)&0x1) == 1){ nResult = (char)((~nSource)+0x1);}else{ nResult = nSource;}...就是这样。。呵呵