시프트연산자 편집하기
최신판 | 당신의 편집 | ||
32번째 줄: | 32번째 줄: | ||
===주의사항=== | ===주의사항=== | ||
− | 시프트 연산자 중 '>>>'에는 몇가지 주의점이 있다. 첫째, 연산 가능한 타입이 byte, short, int, long 타입과 char타입이 있는데 int보다 작은 비트 타입인 byte, short, char는 int로 변환되어 | + | 시프트 연산자 중 '>>>'에는 몇가지 주의점이 있다. 첫째, 연산 가능한 타입이 byte, short, int, long 타입과 char타입이 있는데 int보다 작은 비트 타입인 byte, short, char는 int로 변환되어 Shif가 된다. 그렇기 때문에 결과값을 int로 받지 않고 기존의 타입 그대로 받으면 문제가 발생하게 된다. |
아래 문제발생 예시를 보면 -1 값을 가지는 byte 변수네 >>> 연산을 했는데 음수가 나오게 된다. | 아래 문제발생 예시를 보면 -1 값을 가지는 byte 변수네 >>> 연산을 했는데 음수가 나오게 된다. | ||
<ref name="연산자 주의사항">〈[https://secretroute.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%9D%98%E7%A5%9E-Vol1-%EB%B9%84%ED%8A%B8-%EC%8B%9C%ED%94%84%ED%8A%B8-%EC%97%B0%EC%82%B0%EC%9E%90 연산자 주의사항]〉, 《자바의신 Vol.1 : 비트 시프트 연산자》, 2014-05-26</ref> | <ref name="연산자 주의사항">〈[https://secretroute.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%9D%98%E7%A5%9E-Vol1-%EB%B9%84%ED%8A%B8-%EC%8B%9C%ED%94%84%ED%8A%B8-%EC%97%B0%EC%82%B0%EC%9E%90 연산자 주의사항]〉, 《자바의신 Vol.1 : 비트 시프트 연산자》, 2014-05-26</ref> |