设置二进制补码是为了让计算机更容易计算两个数的减法。但是计算机如何区分一个整数是有符号整数还是无符号整数呢?
它的内存中只有 0 和 1。
例如,1111 1111
在计算机内存中可以代表数字255,也可以代表-1。
最佳答案
有符号和无符号使用相同的数据,但不同的指令。
计算机将有符号和无符号整数存储为相同的数据。即255 和 -1 是相同的位。但是,您告诉编译器变量的类型。如果它是有符号的,编译器会使用有符号的运算符来操作变量(例如 IDIV),如果是无符号的,则它会使用另一条指令(例如 DIV)。所以编译器制作了一个程序,告诉 CPU 如何解释数据。
关于storage - 计算机如何区分一个整数是有符号的还是无符号的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10893232/