当表示相同时,如何区分二进制表示形式的 8 位内存位置中的 +128 和 -128?

How to differentiate +128 from -128 in an 8-bit memory location in binary representation when their representation is the same?

在8位内存中,整数+128表示为10000000但也用补码法-128整数表示为10000000

我觉得这很奇怪。为什么 +128 或 128(无符号)表示为 10000000?最左边的位是 1,这意味着它是负数,而实际上它是正数...

810位可以表示210810 = 25610 个不同的值。从 -12810 到 +12810 的范围包含 25710 不同的值。

不可能用8表示从-12810到+12810的整数范围10 位。您必须从该范围中删除 至少一个 整数。

换句话说:+12810 不能用810位表示补充二进制表示。

In an 8-bit memory location, the integer +128 is 10000000

没错。但是,当您使用所有 8 位来表示 正数 数字时,您根本 不能 表示负数。

but also using two's complement method -128 integer is represented as 10000000.

也对。

I find this weird. Why is +128 or 128(unsigned) represented as 10000000?

它们是两种不同的表现形式

The leftmost bit is 1, and this means that it is negative where in fact it is positive...

仅表示它是二进制补码表示中的负数。但它不是二进制补码表示。它是简单的二进制表示。