• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

비트연산 시 unsigned...

22.08.23 17:53 작성 조회수 170

0

부호를 없애야 >>를 해도 부호비트가 따라오지 않는다고 하셨는데

부호가 있는 경우(ex - 1100 0010)에 >>1을  실헝해본 결과 2로 나누어지는 것에 큰 이상은 없는 것 같았습니다...다른 이유가 있을까요?

 

답변 1

답변을 작성해보세요.

0

>> 을 쓰는 경우는 나눗셈의 상황보다는,
BitFlag을 사용할 때 많이 사용합니다.
ex) 게임ID 같은 것들을 uint64 변수로 만들어서 관리하는 경우가 많습니다.

모든 숫자들을 >> 우측으로 밀고 싶은데, 뜬금없이 앞의 숫자들이 1로 채워지면 곤란하겠죠.

한울님의 프로필

한울

질문자

2022.08.24

한 가지 더 궁금한 것이 있는데

전역변수와 지역변수를 선언하는 코드를 어셈블리어로 보면

전역변수 쪽은 아무것도 없고

지역변수 쪽만 mov ...로 이렇게 표시되어있는데

이유가 무엇인가요?

지역변수는 스택 영역에 있고, 스택은 ebp 상대 주소로 접근하니 mov가 필요하고
전역변수는 그냥 고정된 메모리 주소에 박히니 필요가 없습니다.

메모리 구조에 대해 더 깊이 있는 이해를 위해
이것저것 구글에서 검색해보시기 바랍니다.

한울님의 프로필

한울

질문자

2022.08.26

감사합니다!