나는 이것이 매우 간단한 질문이지만, "< <"문자를 무시하므로 Google에서 대답을 찾는 데 어려움이 있습니다. 만약 당신이 미래에 이런 것들을 어떻게 찾아야하는지에 대한 조언이 있다면 그것은 또한 크게 감사 할 것입니다. 나는 그 종류의 작은 바늘 또는 무엇인가를 생각 나게하는 것처럼 보인다? 그러나 나는 그 의미가 무엇인지, 그것이 -1인지 또는 다른 것인가가 마치 -1이 사용되지 않는 이유를 모른다는 것처럼 실제로 작동 하는지를 실제로 알지 못합니다. 감사합니다num >> 1은 C++에서 무엇을 의미합니까?
답변
It ('>>
')은 왼쪽 피연산자가 정수형 인 컨텍스트에서 '오른쪽 시프트'를 의미합니다. 부호없는 유형의 경우 uvalue >> 1
은 2로 나누고 값을 잘라내는 것과 같습니다. 최하위 비트를 삭제하고, 모든 다른 비트를 한 위치 아래로 이동하고, 최상위 비트에 0을 삽입합니다. 부호있는 유형 및 양수 값의 경우 동작은 동일합니다. 값이 음수이면, 동작은 구현에 따라 결정되는 것이 가장 좋습니다.
왼쪽 피연산자가 입력 스트림 인 경우 입력 작업입니다 (단, 1
과 같은 리터럴에는 입력 할 수 없지만 l
과 같은 변수를 사용할 수는 있습니다).
마찬가지로 '<<
'은 왼쪽 피연산자가 정수 유형 인 컨텍스트에서 왼쪽 쉬프트를 의미하며 왼쪽 피연산자가 출력 스트림 일 때 출력 연산을 의미합니다.
물론 왼쪽 피연산자가 클래스 인 경우 연산은 클래스가 연산을 정의하는 모든 것을 의미합니다. I/O 스트림은 '클래스가 의미하는 작업을 정의하는'특수한 경우입니다.
LH 피연산자가 N 비트의 정수인 경우 (유형이 int
보다 작 으면 승격 될 때), 0과 N-1 사이의 RH 값만큼 시프트하는 것만 유효합니다. 크거나 작은 시프트는 정의되지 않은 동작을 생성합니다. 특히 N으로 시프 팅하는 것은 정의되지 않은 동작입니다.
클래스 및 I/O 스트림에 대한 주석은 C에 적용되지 않지만 피연산자가 모두 정수인 경우 C에서의 동작은 C++에서와 동일합니다.
죄송합니다. 왼쪽은 정수 변수입니다. – emschorsch
<<
및 >>
모두 시프트 연산자입니다. 자세한 내용은 다음을 참조하십시오 :
<< N
오른쪽으로 N. >> N
에 의해 왼쪽으로 숫자 값에 비트를 이동합니다.
http://en.wikipedia.org/wiki/Bitwise_operation#Unsigned_bit_shift_operator
예 : int m=16; //(10000) n=m>>1; //n=(01000)
은 십진수로 n=8
이됩니다.
- 1. >/dev/null 2> & 1은 무엇을 의미합니까?
- 2. C에서 이것이 무엇을 의미합니까? AB-> CD-> Func (param)
- 3. Matlab에서 i = 1은 무엇을 의미합니까?
- 4. EF에서 0..1은 무엇을 의미합니까?
- 5. "->"PHP에서 무엇을 의미합니까?
- 6. '=>'은 무엇을 의미합니까?
- 7. () => {}은 무엇을 의미합니까?
- 8. $ this-> 무엇을 의미합니까?
- 9. > var는 무엇을 의미합니까?
- 10. JavaScript >>는 무엇을 의미합니까?
- 11. 연산자 ">>"가있는 typedef는 무엇을 의미합니까?
- 12. `>> 1 '은 무엇을 의미합니까?
- 13. 이 -> 기호는 무엇을 의미합니까?
- 14. 스칼라에서`> :`은 무엇을 의미합니까?
- 15. `() => Unit '은 무엇을 의미합니까?
- 16. 스칼라 - '=> SomeType'은 무엇을 의미합니까?
- 17. C에서 ** 연산자는 무엇을 의미합니까?
- 18. C에서 'where'키워드는 무엇을 의미합니까?
- 19. [,] C에서 무엇을 의미합니까?
- 20. XMLHttpRequest 상태 코드 -1은 무엇을 의미합니까?
- 21. Objective-C에서 @는 무엇을 의미합니까?
- 22. 객관적인 C에서 ^는 무엇을 의미합니까?
- 23. Objective-C에서 & 기호는 무엇을 의미합니까?
- 24. <String, String>은 무엇을 의미합니까?
- 25. "outer =>"는 실제로 무엇을 의미합니까?
- 26. <%=h ... %>은 Rails에서 무엇을 의미합니까?
- 27. ClassName.ctor> b__11은 dotTrace Profiler에서 무엇을 의미합니까?
- 28. Ruby on Rails : => 기호는 무엇을 의미합니까?
- 29. $ this는 실제로 무엇을 의미합니까> Codeigniter
- 30. 기호 -, < and >은 무엇을 의미합니까?
* "나는 일종의 임시 변통이나 그와 비슷한 것을 기억하고 있나?"* - 당신은 그걸 찾으려고하지 않았습니까? 그것은'''보다 훨씬 더 구글 친화적인데, 특히''C++ ''을 추가한다면 더욱 그렇습니다. –
읽어보기 - http://en.wikipedia.org/wiki/Bitwise_operation – adatapost
그래, 나는 내가 이미 그 문장을 쓰고있을 때까지 그것이 비트 시프트와 관련이 있다는 것을 기억했다는 것을 몰랐다. 게시물. 그 죄송합니다.그것이 당신의 머리에 먼저 바이너리로 변환해야 할 일을 이해하는 것이 훨씬 더 어려워 보이기 때문에 그것을 사용하는 것의 이점은 무엇입니까? 오, 죄송 합니다만 2로 나누는 것과 똑같은가요? Jk 나는 그것을 설명하는 이것의 밑에 최고 투표 한 응답을 지금주의했다. – emschorsch