자바의 정석 책으로 자바 독학을 하고 있는 뉴비입니다..
책을 보여 예제를 풀이하던 도중 이해가 안되는 부분이 있어서 한참을 고민하고 나름 뻘짓(?)을 해봤는데
도저히 안풀려서 질문드립니다 ㅠ
class ex3_5 // 비트연산자 ~
{
public static void main(String[] args)
{
byte b = 10;
System.out.println("b = " +b);
System.out.println("~b = " + ~b);
System.out.println("~b+1 = " + ~b+1);
}
}
밑줄처리된 바로 저부분인데요...
원 예제에서는 (~b+1) 처럼 괄호로 묶어서 처리하여 얻고자 하는 값 (-10) 이 정상출력이 되는데..
제가 예제를 보던중 실수로 괄호를 안넣어서 저런 코드가 됬습니다..
그랬더니 값이 -111 이라는 값이 나오더군요.
이 값이 어떻게 계산된건지 궁금합니다..
산술연산자 계산전에 int형으로 변환되는것과 관련있는거 같은데..
전혀 모르겠네요 ㅠ
혹시나해서 2진법 표현형으로도 변환해서 확인해보았는데 전혀 다른값이 나오구요..
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.