> 数学 >
-1用16进制表示是多少,-10呢?(比如1A=26).
16进制好像不能表示负数吧,疑惑中,求答,
人气:454 ℃ 时间:2020-03-30 07:57:06
解答
如果把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,就绝不是上面的表示方法了我当时其实要的是这个
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版