얄팍한지식으로 댓글은 더럽게 써놨네요 일단 비트연산자를 이해하려면 정수형의 구조를 아셔야합니다. 컴퓨터는 2진수로 모든 데이터를 표시하고 정수형인 int형은 8바이트(32비트)로 표기됩니다. 즉 0과1로 이루어진 2진수 32자리로 하나의 정수를 표현한다는 뜻이죠 이는 10진수로 0~약 42억까지 표시할 수 있으며 -21억~+21억까지 표시가 가능합니다. 이 32자리의 이진수는 최상위비트(이진수의 가장 왼쪽 수)는 0은 양수, 1은 음수로 표시하게 됩니다. 이 최상위비트를 양수와 음수를 구별하는데 쓴다면 -21억~+21억의 수를 표시하는게 가능하고 그렇지 않다면 0~42억의 숫자를 표시하는데 사용할 수 있게 됩니다. 그리고 위에 쓰신 >> 연산자는 이 32자리의 정수의 이진수 값을 오른쪽으로 한칸씩 이동시키는
쩌비(203.232)2011-06-06 19:22
명령어입니다. 32자리를 쓰기는 힘드니까 8자리 2진수로 예를 들어보겠습니다. 0011 1101 이라는 이진수를 보시면 32+16+8+4+1 로 61이라는 숫자가 나옵니다 이것을 >>1 해주면 모두 오른쪽으로 한비트씩 이동하기 때문에 0001 1110 이 되고 가장 오른쪽에 있던 1은 그냥 소멸하고 가장 왼쪽은 0으로 채워집니다. 그럼 이 값은 16+8+4+2 가 되서 30이 되죠 그래서 나누기2가 된다는 말입니다. 이 값을 다시 a라는 변수에 넣어주라는 얘기.. 이 말도 못알아들으시겠으면 이진수에대해서 좀 보셔야할듯
정수의 관점에서 보면, 나누기 2
비트를 이동시키는게 무슨말인가요?
네이버에 비트연산 검색하면 다나옴
a에 정수가 저장되있는데 정수의 관점에서보면 나누기2라고 했는데 이게 무슨말이에요? ㅠㅠ
오른쪽으로 한칸 간다자나 싮
이런 놈들은 디지털논리회로랑 컴퓨터구조부터 배워야되나?
존나 답이 없다
흥분해서 머리가 단순해졌을수도있음 이해해 줘야함 ㅋ
물론 나도 헤헤
얄팍한지식으로 댓글은 더럽게 써놨네요 일단 비트연산자를 이해하려면 정수형의 구조를 아셔야합니다. 컴퓨터는 2진수로 모든 데이터를 표시하고 정수형인 int형은 8바이트(32비트)로 표기됩니다. 즉 0과1로 이루어진 2진수 32자리로 하나의 정수를 표현한다는 뜻이죠 이는 10진수로 0~약 42억까지 표시할 수 있으며 -21억~+21억까지 표시가 가능합니다. 이 32자리의 이진수는 최상위비트(이진수의 가장 왼쪽 수)는 0은 양수, 1은 음수로 표시하게 됩니다. 이 최상위비트를 양수와 음수를 구별하는데 쓴다면 -21억~+21억의 수를 표시하는게 가능하고 그렇지 않다면 0~42억의 숫자를 표시하는데 사용할 수 있게 됩니다. 그리고 위에 쓰신 >> 연산자는 이 32자리의 정수의 이진수 값을 오른쪽으로 한칸씩 이동시키는
명령어입니다. 32자리를 쓰기는 힘드니까 8자리 2진수로 예를 들어보겠습니다. 0011 1101 이라는 이진수를 보시면 32+16+8+4+1 로 61이라는 숫자가 나옵니다 이것을 >>1 해주면 모두 오른쪽으로 한비트씩 이동하기 때문에 0001 1110 이 되고 가장 오른쪽에 있던 1은 그냥 소멸하고 가장 왼쪽은 0으로 채워집니다. 그럼 이 값은 16+8+4+2 가 되서 30이 되죠 그래서 나누기2가 된다는 말입니다. 이 값을 다시 a라는 변수에 넣어주라는 얘기.. 이 말도 못알아들으시겠으면 이진수에대해서 좀 보셔야할듯