2의 보수/shift 연산자
- 최초 등록일
- 2021.07.16
- 최종 저작일
- 2021.04
- 3페이지/ MS 워드
- 가격 1,000원
소개글
"자바 프로그래밍" 수업의 과제입니다.
(1) 2의 보수에 대한 설명과 (2) -10이 16진수로 표현시 fffffff6으로 출력이 되는 이유, (3) 음의 정수에 >>와 >>>를 연산할 때 값이 다르게 나오는 부분에 대한 이유를 서술한 과제입니다.
또한 (4) 키보드로 10에서 99 사이의 값을 입력 받아 십의 자리와 일의 자리를 바꾸는 프로그램 코드, (5) 직육면체의 가로, 세로, 높이를 입력받아 겉넓이를 계산하는 프로그램 코드도 서술되어 있습니다.
목차
1. 음의 정수 표현과 Shift 연산자
1) 2의 보수에 대하여 설명하시오.
2) -10이 16진수로 표현시 fffffff6으로 출력이 되는 이유를 설명하시오. (hint: 16진수의 f는 2진수로 변환시 1111로 변환됨)
3) 음의 정수에 >>와 >>>를 연산할 때 값이 다르게 나오는 부분에 대해 서술하시오. (hint: >>와 >>> 연산시 최상위 비트를 채우는 방식이 다르다.)
2. 십진법으로 표현한 다음의 숫자를 각각 2진법, 8진법, 16진법으로 표현하시오.
3. 키보드로 10에서 99 사이의 값을 입력 받아 십의 자리와 일의 자리를 바꾸는 프로그램을 구현하시오.
4. 직육면체의 가로, 세로, 높이를 입력받아 겉넓이를 계산하는 프로그램을 구현하시오. (단, 가로, 세로, 높이는 정수값만 입력받을 것.)
본문내용
10진수 10을 2진수로 변환하면 1010이고, int의 크기는 4byte(32bit)이므로 실제로는 00000000000000000000000000001010 로 표현이 된다. 여기에 1의 보수를 취하면 **************************110101 이다. 2의 보수는 구한 1의 보수의 가장 낮은 자리에 1을 더하면 되므로 결과적으로 10진수 -10을 2진수로 변환하여 구한 2의 보수는 **************************110110 이 된다. 16진수는 2진수 4자리씩 각 자리마다 끊어 변환해 구할 수 있다. 2진수 1111은 16진수 f, 2진수 0101(101)은 16진수 6이므로 -10은 16진수로 표현시 fffffff6으로 출력이 된다.
참고 자료
없음