无符号整数,为什么内存中存放的16个二进制位全部为1,则它所代表的就是65535

2025-02-28 23:47:32
推荐回答(2个)
回答1:

(1):题目已经说明是无符号整数,那么计算机将对此数值进行已约定的处理,即计算机将它看做补码;换而言之,若事先约定,此数值是有符号整数,那么,计算机将此值看做原码,此值就是;-32768.
(2):也就是说,该数值是何种码,关键在于计算机如何处理。
如:c++中,如果用unsigned 关键字声明书据类型,则计算机将它看做补码,如果没有unsigned 关键字声明书据类型,计算机将此值看做原码。
(3):根据数学原理;1111111111111111=2^16-1=65535
怎么转换来更加细节的问题就涉及到很多方面的知识了最简单的回答就是;由中央处理器处理出来的。

回答2:

既然是无符号,肯定都是正数,因此原码和补码都是一样的,65535就是2的16次方然后再减1得到的。