标签:最小 计算机实现 原理 正数 异或运算 相同 拼接 step 整数
1.正数的原码、反码、补码都相同
2.负数的反码是保留原码符号位,其他位取反;负数的补码是反码+1
3.正数与负数相加,二进制结果符号位为1,此时是结果的补码,需要-1得出结果反码,再保留符号位取反得出结果
1.忽略两个乘数的符号位
2.将第一个乘数分解为2阶泰勒展开式
3.将第二个乘数在展开式的系数为1时的指数向左移位
4.将所有移位的值相加,得出乘积的无符号值
5.对两个乘数的符号位进行异或运算,得出符号位
6.将符号位和无符号乘积合并,得出实际乘积
1.忽略被除数和除数的符号位
2.从左向右,在被除数中找到第一个1的位置,与除数相比较,若小于除数,则结果为0,余数为1,若大于除数,则商为1,余数为该步被减数减去除数的差值,新的被减数为本次余数后拼接新的被除数位
3.当被除数最后一位运算完毕,将从上向下的各步结果从左向右拼接,就是最终的无符号商,最后一步的余数,是最终的无符号余数
4.对被除数和除数的符号位进行异或运算,得出符号位
5.将符号位和无符号结果、无符号余数进行合并,得出实际到店商和余数
计算:13+18=31
13
0000 0000 0000 0000 0000 0000 0000 0000 1101
18
0000 0000 0000 0000 0000 0000 0000 0001 0010
31
0000 0000 0000 0000 0000 0000 0000 0001 1111
计算:2^31-1+2^31-1=2^32-2 <> -2^31-2
2^31-1
0111 1111 1111 1111 1111 1111 1111 1111 1111
2^31-1
0111 1111 1111 1111 1111 1111 1111 1111 1111
-2^31-2
1111 1111 1111 1111 1111 1111 1111 1111 1110
计算:18-13=5
18
0000 0000 0000 0000 0000 0000 0000 0001 0010
-13 原码
1000 0000 0000 0000 0000 0000 0000 0000 1101
-13 反码
1111 1111 1111 1111 1111 1111 1111 1111 0010
-13 补码
1111 1111 1111 1111 1111 1111 1111 1111 0011
5
0000 0000 0000 0000 0000 0000 0000 0000 0101
计算:13-18=-5
13
0000 0000 0000 0000 0000 0000 0000 0000 1101
-18 原码
1000 0000 0000 0000 0000 0000 0000 0001 0010
-18 反码
1111 1111 1111 1111 1111 1111 1111 1110 1101
-18 补码
1111 1111 1111 1111 1111 1111 1111 1110 1110
-5 补码
1111 1111 1111 1111 1111 1111 1111 1111 1011
-5 反码
1111 1111 1111 1111 1111 1111 1111 1111 1010
-5 原码
1000 0000 0000 0000 0000 0000 0000 0001 0101
计算:0-2^31=-2^31 <> 0
0
0000 0000 0000 0000 0000 0000 0000 0000 0000
-2^31 原码
1000 0000 0000 0000 0000 0000 0000 0000 0000
-2^31 反码
1111 1111 1111 1111 1111 1111 1111 1111 1111
-2^31 补码
0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000
计算:13*18=234
13
0000 0000 0000 0000 0000 0000 0000 0000 1101
18
0000 0000 0000 0000 0000 0000 0000 0001 0010
step1:
13=0*2^30 + 0*2^29 +...+ 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
step2:
0000 0000 0000 0000 0000 0000 0000 0001 0010
+
0000 0000 0000 0000 0000 0000 0000 0100 1000
+
0000 0000 0000 0000 0000 0000 0000 1001 0000
=
234
0000 0000 0000 0000 0000 0000 0000 1110 1010
计算:-13*(-18)=234
-13
1000 0000 0000 0000 0000 0000 0000 0000 1101
13
0000 0000 0000 0000 0000 0000 0000 0000 1101
-18
1000 0000 0000 0000 0000 0000 0000 0001 0010
18
0000 0000 0000 0000 0000 0000 0000 0001 0010
step1:
13=0*2^30 + 0*2^29 +...+ 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
step2:
0000 0000 0000 0000 0000 0000 0000 0001 0010
+
0000 0000 0000 0000 0000 0000 0000 0100 1000
+
0000 0000 0000 0000 0000 0000 0000 1001 0000
=
234
0000 0000 0000 0000 0000 0000 0000 1110 1010
对符号位进行异或
234
0000 0000 0000 0000 0000 0000 0000 1110 1010
计算:(2^31-1)*2=2^32-2
2^31
0111 1111 1111 1111 1111 1111 1111 1111 1111
2
0000 0000 0000 0000 0000 0000 0000 0000 0010
step1:
2^31=1*2^30 + 1*2^29 +...+ 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0
step2:
0000 0000 0000 0000 0000 0000 0000 0000 0010
+
.
.
.
+
0100 0000 0000 0000 0000 0000 0000 0000 0000
+
1000 0000 0000 0000 0000 0000 0000 0000 0000
=
1111 1111 1111 1111 1111 1111 1111 1111 1110
计算:18/13 = 1...5
18
0000 0000 0000 0000 0000 0000 0000 0001 0010
13
0000 0000 0000 0000 0000 0000 0000 0000 1101
从左向右依次取出一位被除数与除数比较,直到被除数到达最后一位,忽略前边0
1 < 0000 0000 0000 0000 0000 0000 0000 0000 1101
结果0 余数 1
10 < 0000 0000 0000 0000 0000 0000 0000 0000 1101
结果0 余数 10
100 0< 0000 0000 0000 0000 0000 0000 0000 0000 1101
结果0 余数 100
1001 < 0000 0000 0000 0000 0000 0000 0000 0000 1101
结果0 余数 1001
10010 > 0000 0000 0000 0000 0000 0000 0000 0000 1101
结果1 余数 10010-1101 = 0 0101
结果 0 0001 = 1
余数 0 0101 = 5
计算:13/18 = 0...13
13
0000 0000 0000 0000 0000 0000 0000 0000 1101
18
0000 0000 0000 0000 0000 0000 0000 0001 0010
从左向右依次取出一位被除数与除数比较,直到被除数到达最后一位,忽略前边0
1 < 0000 0000 0000 0000 0000 0000 0000 0001 0010
结果0 余数 1
11 < 0000 0000 0000 0000 0000 0000 0000 0001 0010
结果0 余数 11
110 0< 0000 0000 0000 0000 0000 0000 0000 0001 0010
结果0 余数 110
1101 < 0000 0000 0000 0000 0000 0000 0000 0001 0010
结果0 余数 1101
结果 0
余数 1101 = 13
标签:最小 计算机实现 原理 正数 异或运算 相同 拼接 step 整数
原文地址:https://www.cnblogs.com/mlr-wjy/p/12729020.html