计算机原码怎么加减乘除

时间:2025-01-19 02:08:59 计算机

计算机原码的加减乘除运算如下:

加法

符号位相同,则直接相加数值位,结果符号位不变。

符号位不同,则将数值位相加,符号位取数值位大的数的符号位。

例如:

[X]原 = 00010

[Y]原 = 01010

X + Y = 01100

减法

将减数的符号位取反,然后与被减数相加。

例如:

[X]原 = 10010

[Y]原 = 01010

X - Y = 10010 + 11010 = 11100

乘法

原码一位乘法是模拟竖式手算的方法。

符号位是被乘数和乘数符号位的异或值。

检视乘数从低向高的每一位,若为1,部分积加上被乘数并右移一位;若为0,部分积加0并右移一位。

例如:

[X]原 = 11101

[Y]原 = 01011

X * Y = 110001111

除法

除法可以转化为乘法,通过将被除数减去除数的补码来实现。

符号位为被除数和除数符号位异或获得。

之后被除数减去除数(补码表示),当余数为正时,商为1,余数左移一位减除数;当余数为负时,商为0,余数左移一位,加除数。

例如:

[X]原 = 0.1001

[Y]补 = 0.1011

X / Y:

余数 r0 < 0,商0,余数 r0 和商0左移一位加 y

余数 r1 > 0,商1,余数 r1 和商1左移一位减 y

余数 r2 > 0,商1,余数 r2 和商1左移一位减 y

余数 r3 < 0,商0,余数 r3 和商0左移一位加 y

最终商 [Q]原 = 0.1101,余数 [R]原 = 0.0001

这些规则适用于整数和小数的原码运算。需要注意的是,原码的加减乘除运算相对复杂,特别是涉及到符号位的处理,因此在实际应用中通常使用补码来简化计算过程。