请问为什么-65537在16位的内存中的值与-1在内存中的值是一样的?(程序设计c语言)

2024-11-15 01:20:42
推荐回答(3个)
回答1:

这主要是-65537这个数超出了16内存单元表示数的范围,所以实际存储的值(-1)与要表示的值(-65537)不同,但-65537并没有超出32内存单元表示数的范围,所以实际存储的值就是其本身。

回答2:

16位有符号整数的赋值, 超出取值范围后会取模操作( n%32768) 。65537%32768=1 ,所以

-65537 == -1

回答3:

………