如何不使用加减乘除实现两个数的进制转化求和?

2026-05-29 13:342阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计744个文字,预计阅读时间需要3分钟。

如何不使用加减乘除实现两个数的进制转化求和?

前 言:这道题目也很有意思,要找两个数的和,竟然不能使用加法,这是什么鬼操作!想了好久好久,最后还是借用了别人的想法,才找到了解决方案。

如何不使用加减乘除实现两个数的进制转化求和?

我自己来看,理解的过程是这样的:


前言:
这道题也很有意思,要求两个数的和,竟然还不能使用加法,这是什么鬼操作!!!想了好久好久,最后还是借鉴了别人思想,才找到了解决方案。自己在这方面看来了解的还是欠缺呀。慢慢查缺补漏吧!!!!

题目描述

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

解题思路

我们先来分析一下十进制如何做加法的吧!
例如:8+13;
第一步我们先做各位相加不进位,此时相加结果为11和1。第二步做进位,8+13坐进位,进位的值是10;第三步把前面两个结果加起来。所以我们就得到了最后的结果21。

看到了这个我接着思考,加减乘除不能用,那么只能使用位运算了。位运算是在二进制中使用的,那么就来分析一下二进制计算。

5的二进制是101,17的二进制是10001。还是分成三部来进行计算。第一步各位相加但是不计进位,得到结果是10100(最后一位两个数都是1,相加的结果是二进制的10,这一步不计进位,因此结果仍然是0)。第二步进行进位,这个例子中最后一位产生进位,结果是二进制的10;第三步把前两步的结果相加,得到的结果是 10110,转换成十进制正好是22。

阅读全文

本文共计744个文字,预计阅读时间需要3分钟。

如何不使用加减乘除实现两个数的进制转化求和?

前 言:这道题目也很有意思,要找两个数的和,竟然不能使用加法,这是什么鬼操作!想了好久好久,最后还是借用了别人的想法,才找到了解决方案。

如何不使用加减乘除实现两个数的进制转化求和?

我自己来看,理解的过程是这样的:


前言:
这道题也很有意思,要求两个数的和,竟然还不能使用加法,这是什么鬼操作!!!想了好久好久,最后还是借鉴了别人思想,才找到了解决方案。自己在这方面看来了解的还是欠缺呀。慢慢查缺补漏吧!!!!

题目描述

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

解题思路

我们先来分析一下十进制如何做加法的吧!
例如:8+13;
第一步我们先做各位相加不进位,此时相加结果为11和1。第二步做进位,8+13坐进位,进位的值是10;第三步把前面两个结果加起来。所以我们就得到了最后的结果21。

看到了这个我接着思考,加减乘除不能用,那么只能使用位运算了。位运算是在二进制中使用的,那么就来分析一下二进制计算。

5的二进制是101,17的二进制是10001。还是分成三部来进行计算。第一步各位相加但是不计进位,得到结果是10100(最后一位两个数都是1,相加的结果是二进制的10,这一步不计进位,因此结果仍然是0)。第二步进行进位,这个例子中最后一位产生进位,结果是二进制的10;第三步把前两步的结果相加,得到的结果是 10110,转换成十进制正好是22。

阅读全文