对比十进制和二进制的补码运算分析其差别

1.对比十进制和二进制的补码运算分析其差别
2.随意定义两种进制分别用XY做基数,如何进行这两种进制之间数的转换

十进制和二进制的补码运算在基本原理上是相同的,都是为了解决负数的运算问题。在十进制中,一个数如果小于0,就用它对应的绝对值数的相反数来表示,并在最高位加上符号位。二进制中也是同理,如果一个数小于0,就用它对应的绝对值数的按位取反再加1来表示。
但是十进制和二进制在运算上有一些差别。由于十进制中有10个数字,因此运算过程中需要考虑进位的问题。而二进制中只有0和1两种数字,因此运算过程中不存在进位问题。另外,在二进制中,一个数的补码运算只需要按位取反,而在十进制中,需要先求出绝对值,再求相反数。

转换两种进制之间数的方法有很多,常见的有两种:
除基转换法:将一个数不断除以转换的基数,将余数按顺序记录下来,最后将这些余数倒序排列得到目标进制下的数。

乘基转换法:将一个数不断乘以转换的基数,将整除结果按顺序记录下来,最后将这些结果倒序排列得到目标进制下的数。

例如:将十进制数100转换为XY进制,假设X=3, Y=5。

除基转换法:100÷X=33...1,余1;33÷X=11...0,余1;11÷X=3...3,余3;3÷X=1...0,余1;得到余数序列为1,0,3,1,倒序排列得到1310,即为100的XY进制表示。
乘基转换法:100×Y=500,整除结果为5;100×Y^2=2500,整除结果为25;100×Y^3=12500,整除结果为125;得到整除结果序列为5, 25, 125,倒序排列得到1310,即为100的XY进制表示。