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

求一个原码真值的问题若码值FFFFH是一个整数的原码表示,则该整数的真值为(1);若码值FFFFH是一个整数的补码表示,则该整数的真值为(2).1、FFFFH是原码,答案为什么不是16^4+16^3+16^2+16?而是-

题目详情
求一个原码真值的问题
若码值FFFFH是一个整数的原码表示,则该整数的真值为 (1) ;若码值FFFFH是一个整数的补码表示,则该整数的真值为 (2) .
1、 FFFFH是原码,答案为什么不是16^4+16^3+16^2+16? 而是-32767
▼优质解答
答案和解析
FFFF表示的值是15x16^3+15x16^2+15x16^1+15,显然不是你给出的16^4+16^3+16^2+16.FFFF=15x16^3+15x16^2+15x16^1+15=65535,而答案为什么是-32767呢?这就是“规定”!原因是最高位只是个表示正数负数的符号(就像我们书写十进制数前面的+-一样),而并非是数据位!看,FFFF的有交数据位是7FFF,这不就是32767吗?最高位是1表示负,那么若是原码不就是-32767了嘛!而若是补码则真值是8001,那就是-1了……