有符号数与无符号数之间的转换 有符号数转换为无符号数 无符号数转换为有符号数

有符号数与无符号数之间的转换
有符号数转换为无符号数
无符号数转换为有符号数

  比较两个等式:

有符号数与无符号数之间的转换
有符号数转换为无符号数
无符号数转换为有符号数(1)

     有符号数与无符号数之间的转换
有符号数转换为无符号数
无符号数转换为有符号数(2)

我们计算(1)-(2) = xw-12w                  (3)

我们可以得到 :B2U = xw-12w + B2T

将x用T2B替代,则:B2U(T2B)= T2U = x + xw-12w

位xw-1决定了x是否为负

据此 我们可以得到公式:

有符号数与无符号数之间的转换
有符号数转换为无符号数
无符号数转换为有符号数

相应的转换图为:

有符号数与无符号数之间的转换
有符号数转换为无符号数
无符号数转换为有符号数

有符号数与无符号数之间的转换
有符号数转换为无符号数
无符号数转换为有符号数

结果为

t = -1, t2u = 255

无符号数转换为有符号数

同样地,在(3)之后

我们可以得到B2T = B2U -  xw-12w

我们有B2T(U2B) = B2U(U2B) -  xw-12w

即 U2T = u - xw-12w

有符号数与无符号数之间的转换
有符号数转换为无符号数
无符号数转换为有符号数

有符号数与无符号数之间的转换
有符号数转换为无符号数
无符号数转换为有符号数

有符号数与无符号数之间的转换
有符号数转换为无符号数
无符号数转换为有符号数

结果为

u = 255, u2t = -1