본문 바로가기
프로그래밍/java

[JAVA] 음의 정수 표현

by mooyou 2021. 8. 18.
728x90
300x250

정수의 가장 왼쪽은 부호비트이고 MSB(Most Significant Bit)라고 한다. 가장 중요한 비트라는 뜻이다.

음수를 만드는 방법은 2의 보수를 취하는 것인데

맨 앞에가 0이면 음수 1이면 양수이다.

 

음수를 만드는 방법

0 0 0 0 0 1 0 1

1의 보수를 취한다. ( 반대의 수 ) 

1 1 1 1 1 0 1 0

1을 더한다

1 1 1 1 1 0 1 1

 

보수로 만들고 +1

 

 

'-'를 만드는 방식

public class test01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int num=10;
		int bNum=0b1010; 
		int oNum=012;
		int hNum=0xA;
		
		byte n=0b00001010;
		byte sn=0b11110101;
		
		System.out.println(num);
		System.out.println(bNum);
		System.out.println(oNum);
		System.out.println(hNum);
		System.out.println(n);
		System.out.println(~n+1); //n은 10이고 ~n은 반전 시키는건데 -11이 되기 때문에 +1을 해줘야 -10이 된다. 
		
	}

}

 

 

양수 더하기 음수

0 0 0 0 0 1 0 1

+

1 1 1 1 1 0 1 1

=

0 0 0 0 0 0 0 0

 

728x90
반응형

'프로그래밍 > java' 카테고리의 다른 글

문자 세트, 인코딩  (0) 2021.08.20
JAVA:: 변수와 자료형 데이터 타입  (0) 2021.08.19
[JAVA] 2진수, 8진수, 16진수로 표현하기  (0) 2021.08.17
이클립스 탭 한번에 지우기  (0) 2021.08.16
java 출력문 기초  (0) 2021.08.03

댓글