함수 하 나 를 쓰 고 두 정수 의 합 을 구하 고 함수 내 에서 +, -, *, / 사 칙 연산 기 호 를 사용 하지 못 하도록 요구한다.(java)

875 단어 자바
방법 1: + 를 이용 하여 + 를 대체 합 니 다.
public class Solution {
    public int Add(int num1,int num2) {
       if(num2==0){
           return num1;
       }
        
        if(num2>0){
        for(int i=0;i

방법 2: 비트 연산, 이것 은 처음에는 정말 이해 하지 못 했 습 니 다. 나중에 다른 사람의 분석 을 보 았 습 니 다. 정형 은 컴퓨터 에서 이 진 으로 저장 되 었 고 과정 은 다음 과 같 습 니 다.
  • a + b 의 문 제 는 (a 와 b 의 무 진 위 결과) + (a 와 b 의 진 위 결과)
  • 로 나 뉜 다.
  • 전진 덧셈 없 이 이 또는 연산 으로 계산 할 수 있다
  • 진 위 결과 사용 과 연산 과 이 위 연산 계산 결과
  • 이 과정 을 0
  • 으로 순환 합 니 다.
    public class Solution {
        public int Add(int num1,int num2) {
            int carry=0;
            while(num2!=0){
                carry=(num1&num2)<<1;
                num1=num1^num2;
                num2=carry;
            }
            return num1;
        }
    }

    좋은 웹페이지 즐겨찾기