안녕하세요 늘 답변 감사합니다 ㅎㅎ
문제 2번
a /= b++ -c * d; 의 연산을 풀 때
왜 a = (a/b++) - (c * d)가 아니라
a = a / (b - (c*d))가 되는지 모르겠습니다.
나눗셈 곱셈을 먼저 한 후 덧셈 뺄셈을 하는 걸로 알고 있는데 ㅠㅠ
문제 3번
왜 a, b가 int로 주어지지도 않았는데 각각 15, 19가 비트로 표현되는지 모르겠습니다.
그냥 java에서는 byte로 표현된 변수는 bit로 표현헤야 한다고 외우면 되나요?
문제 16번 17번
이것도 연산순서에 관한 질문인데요.
16번에서 a *= b = 5 를 풀면 a = a * (b = 5)가 되고
17번에서도 d *= 7 - c++ 을 풀면 d = d * ( 7 - c++) 이 되잖아요.
지금보니 문제 2번 질문과 같은 맥락인 것 같은데
a * = '블라블라'
이런식으로 되어 있는 것은 '블라블라'가 항상 먼저 묶여있는 것이 되나요?
단어 선택 죄송합니다 ㅠ.ㅠ
안녕하세요.
1)
a /= b++ -c * d;
은 a /= (b++ - c*d); 로 이해해야 합니다.
즉 a /= b 가 a = a / b 인 것처럼 b에 해당하는 부분이 위에서는 ( ) 안의 전체 입니다.
그래서 a = a / (b++ - c*d) 으로 수행이 되는 것입니다.
2)
JAVA에서 byte는 1byte 정수형입니다. 1Byte는 8비트로 표현할 수 있습니다. int가 4Byte 정수형이라 32비트로 표현하는 것과 같은 원리인 것이죠. 비트로 표현해서 처리하는 것은 ~, ^, &, |와 같은 비트 연산을 수행하기 위한 것입니다.
3)
예 맞습니다.
a *= b
가 a = a * b가 되는 것처럼
b 대신 블라블라가 들어가는 것입니다. 그러므로 블바블라 부분이 모두 묶여서 처리되는 것입니다.
오늘도 즐거운 하루되세요.
-
*2017-06-12 10:07:33
안녕하세요.
1)
a /= b++ -c * d;
은 a /= (b++ - c*d); 로 이해해야 합니다.
즉 a /= b 가 a = a / b 인 것처럼 b에 해당하는 부분이 위에서는 ( ) 안의 전체 입니다.
그래서 a = a / (b++ - c*d) 으로 수행이 되는 것입니다.
2)
JAVA에서 byte는 1byte 정수형입니다. 1Byte는 8비트로 표현할 수 있습니다. int가 4Byte 정수형이라 32비트로 표현하는 것과 같은 원리인 것이죠. 비트로 표현해서 처리하는 것은 ~, ^, &, |와 같은 비트 연산을 수행하기 위한 것입니다.
3)
예 맞습니다.
a *= b
가 a = a * b가 되는 것처럼
b 대신 블라블라가 들어가는 것입니다. 그러므로 블바블라 부분이 모두 묶여서 처리되는 것입니다.
오늘도 즐거운 하루되세요.