56. 콘솔에서 한 개의 정수를 입력받고, 비트 단위로 반전시켜 정수로 출력하라.

입력 범위 : -2147483648 ~ 2147483647

입력 예시:

2

출력 예시:

-3

JAVA

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
	    int value0 = scan.nextInt();
		scan.close();
		
		System.out.println(~value0);
	}
}

 

 

 

Swfit

 

import Foundation

let line = readLine()
if line != nil {
    if let value = Int(line!) {
        print(~value)
    }
}

 

연산자를 또 정의하고 해야하나했는데 ~ 연산이 되네요.

이번 문제는 아마도 값의 표현에 대한 방법을 알려주기 위한 문제같습니다

양수의 표현에대한 문제가없지만 음수에 표현에대한 문제를 해결하기위해

어떤 방법을 취하고있는가를 보여주는 문제였습니다.

더 자세히 알고싶으신 분은 "2의 보수" 라는 키워드로 검색하시거나

컴퓨터가 뺄셈을하는 방법에 대해 검색하시면 될것같아요.

점차 다시 일이 생기기 시작해서 이거 100번까지 갈 수 있을지 모르게됬습니다

https://codeup.kr/problem.php?id=1059

 

 

+ Recent posts