-1用16进制表示是多少,-10呢?(比如1A=26).

问题描述:

-1用16进制表示是多少,-10呢?(比如1A=26).
16进制好像不能表示负数吧,疑惑中,求答,
1个回答 分类:数学 2014-11-10

问题解答:

我来补答
如果把16进制数当成是有符号数,就可以表示负数(带负号的十进制数).
以-1来说:将-1表示成4位二进制数(求补码),就是1111(此时将1111当成有符号数),然后直接化16进制数;-1的一位有符号16进制数就是 F.
-10的8位有符号二进制数为11110110(补码表示),化为2位符号的16进制数FA.
如何判断一个16进制数是正是负?
看题目有没有指明这个16进制数是否为有符号数,如果题目说明为无符号数,则表示正数. 如果为有符号数,就要判断符号的正负:将16进制数的最高位化为4位二进制数,如果所化的二进制数的最高位为1就表示负数,为0就表示正数.
例 FA 为有符号的16进制数,F为FA的最高位,化为二进制数为1111,而1111的最高位为1,就表示FA是个负数.FA化为10进制数就为 -10
再问: 近两年后,这个问题早就搞明白了... 你的答案在初学C++的时候就知道了 但我要的不是这答案 我是做游戏破解的 当一个正常的正数数据溢出后 就可能产生负数 但这里溢出后的-1,就绝不是上面的表示方法了 我当时其实要的是这个
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识