C언어 비트연산의 결과
글쓴이: gurumong / 작성시간: 일, 2007/07/22 - 1:57오전
C언어 비트연산의 결과
#define address (*(volatile unsigned *)0x1004)
address = 1 << 64;
비트연산에 대해서 알게되다 궁금한것이 생겼습니다
int형은 보통 시스템에서 가장 빠르게 처리할수있는 레지스터의 크기라고 알고있는데요
비트연산의 결과가 레지스터의 크기로 알려진 int형 보다 크다면 값을 보장받지 못하는것인가요?
그러니까 C언어 에서는 데이터형이 있는데 어떤 비트연산에 의한 결과가 C언어의 데이터형에 맞지 않을때는 어떻게 되는것인지...
Forums:
쉬프트 연산의 경우
쉬프트 연산의 경우 그냥 잘려나갑니다.
쉬프트 연산만
쉬프트 연산만 따지면, 쉬프트하는 크기가 음수거나 자료형의 크기를 벗어날 때의 처리가 C와 C++에서 약간 다릅니다. (어느 경우나 플랫폼에 따라서 달라지는 건 마찬가지라서 여기에 의존하는 건 별로 안 좋습니다.) http://kldp.org/node/39932 글을 참고하세요.
댓글 달기