读书人

16进制转十进制

发布时间: 2012-09-12 09:21:30 作者: rapoo

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;}...

就是这样。。呵呵


读书人网 >移动开发

热点推荐