我知道我可以使用右移执行除以2.
为简单起见,采用4位数系统
-1 - 1111
-2 - 1110
-3 - 1101
-4 - 1100
-5 - 1011
-6 - 1010
-7 - 1001
-8 - 1000
7 - 0111
6 - 0110
5 - 0101
4 - 0100
3 - 0011
2 - 0010
1 - 0001
0 - 0000
Run Code Online (Sandbox Code Playgroud)
如果我尝试表演
6 / 2 = 0110 >> 1 = 0011 = 3
-6/ 2 = 1010 >> 1 = 1101 = -3
Run Code Online (Sandbox Code Playgroud)
对+ ve和-ve数都有效
但是,当来到1
1 / 2 = 0001 …Run Code Online (Sandbox Code Playgroud)