내가 그 대답을 알고 싶어한다는 약간의 질문.정수 양수 또는 음수 검사
if (n > 0)
else
그러나 나는 또한과 같이 비트 단위 연산자를 사용할 수 있습니다 : 나는 정수를 가지고 있고 그것이 부정적 또는 긍정적인지 알고 싶은 경우 , 내가 할 것
if (n >> (sizeof(int) * 8 - 1) == 0)
else
성능이 차이점은? ASM을 모르므로 해체를 보는 것이 실제로 도움이되지는 않을 것이므로 예/아니오 답변 만 찾고 있습니다.
언어 태그를 추가하십시오. – Jens
해체를 보았습니까? 여기에 붙여 넣을 수 있다면 그 차이를 분석하는 것이 도움이 될 것입니다. –
'n >> 7 == 0'은 정수가 8 비트 인 경우에만 작동하며 대부분 8 비트입니다. 컴파일러가 일반적으로 처리 할 때 걱정할 필요가없는 일종의 최적화입니다.하지만 어떤 언어를 사용하고 있는지 전혀 알지 못하기 때문에 ... – Coda17