无符号数:1000 0010B = 130

有符号数(原码):1000 0010B = -130

有符号数(反码):1000 0010B = -129

有符号数(补码):1000 0010B = -129

BCD码:1000 0010B = 82

这个现象可以通过不同的解释方式来理解。在无符号数中,二进制数的每一位都代表2的幂次方,从右到左依次增加。因此,1000 0010B表示的是12^7 + 02^6 + 02^5 + 02^4 + 02^3 + 02^2 + 12^1 + 02^0 = 128 + 2 = 130。

对于有符号数(原码),最高位为符号位,0表示正数,1表示负数。因此,1000 0010B表示的是-12^7 + 02^6 + 02^5 + 02^4 + 02^3 + 02^2 + 12^1 + 02^0 = -128 + 2 = -130。

有符号数(反码)和有符号数(补码)是为了解决原码的符号位造成的问题。在反码中,正数的表示方式和原码一样,负数的表示方式是将原码中除符号位外的所有位取反。因此,1000 0010B在反码中表示的是-12^7 + 12^1 + 02^0 = -128 + 2 = -126。而在补码中,负数的表示方式是将反码中的每一位取反后再加1。因此,1000 0010B在补码中表示的是-12^7 + 12^1 + 02^0 = -128 + 2 = -126。

BCD码是用来表示十进制数的编码方式,每四位二进制表示一个十进制数位。因此,1000 0010B表示的BCD码是8十进制位和2个十进制位,即82。

同一个二进制数1000 0010B在理解为: 无符号数、有符号数原码、有符号数反码、有符号数补码、BCD码 时对应的十进制数值分别是多少?你是如何理解待此现象的?

原文地址: https://www.cveoy.top/t/topic/i10G 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录