十六进制数的无符号整数或补码表示的有符号整数,所表示的十进制是多少

如题所述

    无符号数:60690,有符号数:-4846;

    无符号数:65535,有符号数:-1;

    无符号数:47648;有符号数:-17888;

    无符号数:251。有符号数:-5

追问

前面的 字母 所代表的的 是什么?还有就是补码表示有符号整数是怎么计算的?希望大佬解答 一下 谢谢

追答

16进制比 十 进制要多 5 个字母,分别为:0xA = 10,0xB = 11,0xC = 12, 0xD = 13,0xE = 14,0xF = 15
注:0x 表示 16 进制中的符号

追问

也就是说将字母转换成相应的 十六进制数 在进行十进制的 转换是吗?

追答

以 0xFB 为例,它的无符号数:
= 15 × 16^1 + 11×16^0
=240 + 11
= 251
而它的有符号数表示成 二进制时为 1111, 1011。因为最高位为 1,表示为负数。后面的 7 位数 111,1011 表示的补码。按照运算规则,取反后加 1。得到 000,0101 = 5
所以,它的有符号数就 = -5
更简单的算法是,一个字节最大可以表示 256 个数。对于负数,只要用得到的无符号数 减去 256,就可以得到对应的 有符号负数。
同理,两个字节最大可以表示 65536 个数。对于负数,只要用得到的无符号数减去 65536 即可以得到对应的 有符号数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-06
无符号整数就是最高位不表示正负了,直接十六进制转十进制就行,补码等于反码加1,把这这个数减-取反就行,但是最高位是符号位,零正一负追问

前面的 字母 所代表的的 是什么?希望大佬解答 一下

相似回答