프로그래밍
첫 페이지 랜덤 글 회원가입 로그인
비공개 손님 2016-10-27 10:17:33
자바 연산중에 << 이게 무슨 연산인가요?

2 << 0 = 2
2 << 1 = 4
2 << 2 = 8
2 << 3 = 16
2 << 4 = 32
2 << 5 = 64
2 << 6 = 128
2 << 7 = 256
2 << 8 = 512
2 << 9 = 1024

이런식의 결과가 나왔는데

지수면 2 << 0 일때 1이여야 할거같고
i << k 일때
i * (i^k) 일까요?

질문 | 1257명이 읽었어요. 34.229.63.28

0
1 비공개 손님 2016-10-27 11:12:25
비트 쉬프트랄까
2 비공개 손님 2016-10-27 11:13:50
2(0x10)를 왼쪽으로 안밀었으니 그대로 2고
한자리 밀면 4(0x100)가되고 한자리 더 밀면 8(0x1000)이 되고 and on
3 비공개 손님 2016-10-27 11:21:39
아... 감사합니다
4 비공개 손님 2016-10-27 11:26:38
'2'면 '0000 0010'이니까
'<< 1' 하면 '0000 0100'이 되요 "왼쪽으로 1칸 이동'
'0000 0100'은 4구요

3 << 1을 해보면
0000 0011을 왼쪽으로 한칸씩 이동해서 0000 0110이니까
6이 되겠네요

i << k일때 i * (2^k) 이고
i >> k일때 i / (2^k) 인데 영역밖으로 밀려난 비트는 버릴꺼에요 맞나 ㅋ
5 비공개 손님 2016-10-27 11:31:45
아 왼쪽 시프트 연산때 오버플로우 생각도 해줘야겠네요
맨왼쪽 비트가 음수부호비트로쓰는 자료형일 경우
6 비공개 손님 2016-10-27 11:52:09
사인드/언사인드랑은 상관없이 오버플로/언더플로
7 비공개 손님 2016-10-27 17:27:21
헐... 이걸 모른채로 지나갈 수 있나요?
8 비공개 손님 2016-10-27 22:14:07
c 언어에 있는 연산자에요
9 비공개 손님 2016-10-27 23:38:08
이래서 c언어는 무조건 해야 됨
이바닥에서 c는 일종의 상식같은거라
다른 언어 문법이나 연산자같은것도 c에서 차용해오는 경우가 많음
10 비공개 손님 2016-10-31 02:09:20
코딩학원은 안배우나여?
11 비공개 손님 2016-12-03 07:35:17
한동안 까먹고 있던건데 새삼 다시 알게 되네요 유훗~
댓글을 작성하실 수 없습니다.
(권한이 없는 회원레벨)
목록으로
이용약관 | 광고/제휴 | 개인정보취급방침 | 문의/신고 | 모바일 TE31 | 서버 부하 : 14%
실시간 Issue 커뮤니티 TE31 [알지롱] ⓒ 2002-2023
TOP arrow_upward