一、整数加减乘除运算
1.1 加法运算
例题:计算 ( 123 + 456 )
解题步骤:
- 将两个数对齐,从个位开始相加。
- 如果相加结果超过10,则向前一位进位。
代码示例:
def add_numbers(a, b):
result = 0
carry = 0
while b != 0:
sum = a ^ b
carry = (a & b) << 1
a = sum
b = carry
return a
# 计算 123 + 456
result = add_numbers(123, 456)
print("123 + 456 =", result)
1.2 减法运算
例题:计算 ( 789 - 321 )
解题步骤:
- 将被减数和减数对齐。
- 从个位开始相减,如果被减数小于减数,则向前一位借位。
- 计算结果。
代码示例:
def subtract_numbers(a, b):
result = 0
borrow = 0
while b != 0:
sub = a - b
borrow = (a + 0x100) - sub
a = sub
b = borrow >> 8
return a
# 计算 789 - 321
result = subtract_numbers(789, 321)
print("789 - 321 =", result)
1.3 乘法运算
例题:计算 ( 23 \times 45 )
解题步骤:
- 将两个数相乘,得到部分积。
- 将部分积向左移动相应的位数,得到最终结果。
代码示例:
def multiply_numbers(a, b):
result = 0
while b != 0:
if b & 1:
result += a
a <<= 1
b >>= 1
return result
# 计算 23 \times 45
result = multiply_numbers(23, 45)
print("23 \times 45 =", result)
1.4 除法运算
例题:计算 ( 90 \div 3 )
解题步骤:
- 将被除数除以除数,得到商。
- 将商乘以除数,得到部分积。
- 将被除数减去部分积,得到余数。
代码示例:
def divide_numbers(a, b):
result = 0
while a >= b:
a -= b
result += 1
return result
# 计算 90 \div 3
result = divide_numbers(90, 3)
print("90 \div 3 =", result)
二、小数加减乘除运算
2.1 小数加法运算
例题:计算 ( 1.23 + 4.56 )
解题步骤:
- 将两个小数对齐,从个位开始相加。
- 如果相加结果超过10,则向前一位进位。
- 如果小数点后位数不同,则补齐位数。
代码示例:
def add_decimal(a, b):
# 将小数转换为整数进行计算
a_int = int(a * 100)
b_int = int(b * 100)
result = add_numbers(a_int, b_int)
return result / 100
# 计算 1.23 + 4.56
result = add_decimal(1.23, 4.56)
print("1.23 + 4.56 =", result)
2.2 小数减法运算
例题:计算 ( 7.89 - 2.34 )
解题步骤:
- 将两个小数对齐,从个位开始相减。
- 如果被减数小于减数,则向前一位借位。
- 如果小数点后位数不同,则补齐位数。
代码示例:
def subtract_decimal(a, b):
# 将小数转换为整数进行计算
a_int = int(a * 100)
b_int = int(b * 100)
result = subtract_numbers(a_int, b_int)
return result / 100
# 计算 7.89 - 2.34
result = subtract_decimal(7.89, 2.34)
print("7.89 - 2.34 =", result)
2.3 小数乘法运算
例题:计算 ( 2.3 \times 4.5 )
解题步骤:
- 将两个小数转换为整数进行计算。
- 计算结果,然后除以两个小数的位数之和。
代码示例:
def multiply_decimal(a, b):
# 将小数转换为整数进行计算
a_int = int(a * 100)
b_int = int(b * 100)
result = multiply_numbers(a_int, b_int)
return result / (100 * 100)
# 计算 2.3 \times 4.5
result = multiply_decimal(2.3, 4.5)
print("2.3 \times 4.5 =", result)
2.4 小数除法运算
例题:计算 ( 5.6 \div 2.3 )
解题步骤:
- 将两个小数转换为整数进行计算。
- 计算结果,然后除以两个小数的位数之和。
代码示例:
def divide_decimal(a, b):
# 将小数转换为整数进行计算
a_int = int(a * 100)
b_int = int(b * 100)
result = divide_numbers(a_int, b_int)
return result / (100 * 100)
# 计算 5.6 \div 2.3
result = divide_decimal(5.6, 2.3)
print("5.6 \div 2.3 =", result)
三、总结
通过以上例题,我们可以看到,无论是整数还是小数的加减乘除运算,都可以通过将它们转换为整数进行计算,然后再将结果转换回小数。在实际应用中,我们可以根据需要选择合适的方法进行计算。希望这些例题能够帮助你轻松掌握数学技巧。
