inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[Loạt bài phát triển game MMORPG thực hiện bằng C# và Unity] Phần 1: Giới thiệu lập trình cơ bản C#

[ĐỔI MỚI] Hoạt động logic

비트연산 질문이요!

344

ljs9311177536

34 câu hỏi đã được viết

0

ID를 만들 때 객체의 타입을 시프트 연산 28을 한다음

AND나 OR 연산을 해서 나머지 값들을 조립한다는 게 무슨 소린지 잘 모르겠습니다..

제가 잘못 이해한걸 수도 있지만..

제가 이해 한거라면

먼저 NPC 아이디를 3을주고 시프트 연산 28을 하면 805,306,368이 나오는데 이값을 베이스값으로 쓰고 NPC를 추가될 때마다 

NPC 베이스값 + 1

NPC 베이스값 +2 

NPC 베이스값 +3

이런식으로 사용된다는 말씀인가요?? 

C#

Câu trả lời 3

1

Rookiss

AND 같은 경우에는 Bit Mask를 씌울 때,
즉 특정 데이터'만' 추출하고 싶을 때 유용합니다.
AND 특성상 둘 다 1일 때 1이 나오기 때문에,
추출하고 싶은 데이터 위치들을 1로 켜고 나머지는 0으로 민 다음
AND를 하면 딱 원하는 부분만 꺼내쓸 수 있게 됩니다.

가령 위와 같은 구조에서 하위 16비트의 값만 추출하고 싶다고 가정하면,
(value & 0xFFFF)를 이용해 추출할 수가 있겠죠.

( 0xFFFF = 0b 1111 1111 1111 1111 )

0

ljs9311177536

아 이해했습니다 !! 

감사합니다 ㅠㅠ 

0

ljs9311177536

답변 감사합니다 ㅎㅎ ! 

Or 연산같은경우는 이해를 했는데.

And 연산같은경우는 둘다 참일경우 1인데 

비트연산으로 ID를 만든다고하면 같은 ID 를 두번 AND 연산한다는건가요..?

그부분이 이해가 잘안가는데 설명좀 부탁드립니다 ㅠㅠ

0

Rookiss

비트 OR ( | ) 를 이용하면 두 값을 합칠 수 가 있습니다.

가령 다음과 같은 숫자가 있을 때

0b10101001  << A
0b00110011  << B
--------------
0b10111011 << A|B

비트 OR (|)를 해버리면 각 비트 단위로 or를 해서
둘 중 하나라도 1이면 결과가 1이 됩니다.

따라서 ID를 만들 때 각 비트마다 유의미한 정보를 두고
(ex. ObjectType, ObjectSubType, ZoneId, 그냥 counter 등) 이를 비트or로 합칠 수 있다는 얘기입니다.

ID = (MonsterType << 28) | (MonsterSubType << 24) | (ZoneId << 16) | (Counter)

Generic에 대한 질문 있습니다.

0

96

2

2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?

0

201

2

다형성 캐시 문제

0

113

3

.

0

71

1

프로퍼티 강의 질문 있습니다.

0

78

1

이후 커리 질문

0

86

1

static

0

91

2

강의에는 새로운 클래스 파일을 생성하면...

0

72

1

생성자의 이름 선언

0

65

1

9:03 Divide(10 , 3) 부분 질문입니다

0

88

1

깃허브 관련 질문 있습니다.

0

239

1

비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문

0

249

1

C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!

0

306

2

Activator 질문있습니다

0

332

1

이넘 타임 선언 질문

0

346

1

Sort 오름차순, 내림차순

0

323

1

질문 있습니다.

0

249

1

팩토리얼 문제

0

270

1

Sort함수 질문있습니다.

0

265

1

다형성 함수 질문 있습니다.

0

221

1

질문이 있습니다.

0

227

1

섹션2 연습문제 질문입니다.

0

214

1

안녕하세요~서버에 대해 질문이 있습니다.

1

282

1

텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ

0

394

1