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
'iOS > CodeUP - 기초100 With Swift' 카테고리의 다른 글
1061 : [기초-비트단위논리연산] 비트단위로 xor 하여 출력하기 with Swift (0) | 2021.05.10 |
---|---|
1060 : [기초-비트단위논리연산] 비트단위로 and 하여 출력하기 with Swift (0) | 2021.05.09 |
1058 : [기초-논리연산] 둘 다 거짓일 경우만 참 출력하기 with Swift (0) | 2021.05.07 |
1057 : [기초-논리연산] 참/거짓이 서로 같을 때에만 참 출력하기 with Swift (0) | 2021.05.07 |
1056 : [기초-논리연산] 참/거짓이 서로 다를 때에만 참 출력하기 with Swift (0) | 2021.05.07 |