早教吧 育儿知识 作业答案 考试题库 百科 知识分享

写出下列十六进制数在被看作是有符号数和无符号数时的十进制值!OX85的为55和-123OX57为87和57这是怎么算来的?这答案是书上后面的答案上面写的,我就是搞不清楚这个答案是怎么来的所以才来

题目详情
写出下列十六进制数在被看作是有符号数和无符号数时的十进制值!
OX85的为55和-123
OX57为87和57这是怎么算来的?
这答案是书上后面的答案上面写的,我就是搞不清楚这个答案是怎么来的所以才来问的,推了我一下午,弄得我郁闷死~
▼优质解答
答案和解析
0x85用8421转换为二进制为:
10000101(源码)
01111010(反码)
01111011(补码)
负数在计算机中是用补码表示的,
01111011用权求得十进制值为123D
0* 2^(7) + 1* 2^(6) + 1* 2^(5) + 1* 2^(4) + 1* 2^(3) + 0* 2^(2) + 1* 2^(1) + 1* 2^(0),前面加负号就是-123D;
无符号数直接转换成十进制,为8*16^(1)+5*16^(0)=133D.
PS:不知道你给的答案是错误的还是什么原因,十六进制的85H转换为十进制不可能只有两位数,况且,8位二进制最多只能表示256个数,不可能无符号数只是55D~
按照前面的推理:
0x57如果是无符号数,直接转换为原码,5*16^(1)+7*16^(0)=87D
0x57转换为二进制:
01010111(原码)
10101000(反码)
10101001(补码)
因此有符号数得到的值是:169D