비트 연산자 나 산술 연산자 만 사용하여 (a <b? 0 : 1) 용어를 어떻게 표현할 수 있습니까?

Quasimondo

변수 a와 b가 32 비트 정수라고 가정하면 삼항 또는 비교 연산자를 사용하지 않고 a <b이면 0을 반환하고 a> = b이면 1을 반환하는 방법이 있습니까?

해롤드

할 수 있지만 예쁘지 않습니다.

문제는 언급했듯이 오버플로입니다. 그러나 다음과 같이 해결할 수 있습니다.

return ((x - y) ^ ((x ^ y) & ((x - y) ^ x))) >>> 31;

서명 된 버전의 경우 또는

return ((~x & y) | ((~x | y) & (x - y))) >>> 31;

서명되지 않은 버전의 경우.

>>>자바로, 부호없는 오른쪽 시프트있다.

x = b, y = a기능과 일치 하도록 함께 사용하십시오 .

Hacker 's Delight에서 "comparison predicates"라는 이름으로 이들 (및 기타)을 찾을 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

어떻게 정확하게 수행합니다? C 연산자를 사용할 수 있습니까?

분류에서Dev

어떻게 코 틀린 자바의 비트 연산자를 사용합니까?

분류에서Dev

어떻게 & 여기에 비트 연산자를 사용할 수 있습니까?

분류에서Dev

나만의 스트리밍 연산자를 작성할 때 현재 ostream dec / hex 모드를 어떻게 확인할 수 있습니까?

분류에서Dev

비트 연산자 만 사용하여 숫자가 짝수인지 '1'인지 테스트 할 수 있습니까?

분류에서Dev

포인터 산술 결과에 ++,-연산자를 사용할 수 없습니다.

분류에서Dev

비트 연산자와 비트 조작을 사용하여 C에서 2 개의 정수를 어떻게 바꿀 수 있습니까?

분류에서Dev

`my_class_instance (a, b) = value` 연산을 어떻게 구현할 수 있습니까?

분류에서Dev

PHP에서 "널 세이프 연산자"를 어떻게 사용할 수 있습니까?

분류에서Dev

Swift에서 OR 연산자를 어떻게 사용할 수 있습니까?

분류에서Dev

통합 연산자와 함께 try를 어떻게 사용할 수 있습니까?

분류에서Dev

객체와 함께 나머지 연산자 메서드를 어떻게 사용할 수 있습니까?

분류에서Dev

PDF : Latex에서 만든 PDF 테이블은 PDF 연산자를 사용하여 어떻게 표현됩니까?

분류에서Dev

비트 연산자를 사용하여 루프백 모델을 요청할 수 있습니까?

분류에서Dev

이 비트 연산자의 구현이 어떻게 의미가 있습니까?

분류에서Dev

이 함수는 비트 연산자 만 사용하여 3 개의 정수를 어떻게 합합니까?

분류에서Dev

이 함수는 비트 연산자 만 사용하여 3 개의 정수를 어떻게 합합니까?

분류에서Dev

외부 명령을 실행할 때 '>'리디렉터 연산자를 어떻게 사용할 수 있습니까?

분류에서Dev

논리 OR와 혼합 된 삼항 연산자를 어떻게 사용할 수 있습니까?

분류에서Dev

PHP로 mysql에서 산술 연산자로 값을 어떻게 저장할 수 있습니까?

분류에서Dev

모듈러스 연산자를 사용하여 소수점을 어떻게 설명 할 수 있습니까?

분류에서Dev

산술 연산자 만 사용하여 나머지로 몫 구하기

분류에서Dev

어쨌든 honysql select 구성 요소에서 SQL 산술 연산자를 사용할 수 있습니까?

분류에서Dev

Bash를 사용하여 잘못된 산술 연산자를 수정하려면 어떻게해야합니까?

분류에서Dev

AND 연산자를 사용하여 두 표현식을 어떻게 연결할 수 있습니까?

분류에서Dev

C ++ [] 연산자와 함께 fstream을 사용하여 파일의 문자를 어떻게 변경할 수 있습니까?

분류에서Dev

GDB를 사용하여 레지스터에서 산술 연산을 어떻게 수행 할 수 있습니까?

분류에서Dev

C ++의 클래스에서 연산자 오버로딩 함수를 어떻게 사용할 수 있습니까?

분류에서Dev

문자열에서 삼항 연산자를 어떻게 사용할 수 있습니까?

Related 관련 기사

  1. 1

    어떻게 정확하게 수행합니다? C 연산자를 사용할 수 있습니까?

  2. 2

    어떻게 코 틀린 자바의 비트 연산자를 사용합니까?

  3. 3

    어떻게 & 여기에 비트 연산자를 사용할 수 있습니까?

  4. 4

    나만의 스트리밍 연산자를 작성할 때 현재 ostream dec / hex 모드를 어떻게 확인할 수 있습니까?

  5. 5

    비트 연산자 만 사용하여 숫자가 짝수인지 '1'인지 테스트 할 수 있습니까?

  6. 6

    포인터 산술 결과에 ++,-연산자를 사용할 수 없습니다.

  7. 7

    비트 연산자와 비트 조작을 사용하여 C에서 2 개의 정수를 어떻게 바꿀 수 있습니까?

  8. 8

    `my_class_instance (a, b) = value` 연산을 어떻게 구현할 수 있습니까?

  9. 9

    PHP에서 "널 세이프 연산자"를 어떻게 사용할 수 있습니까?

  10. 10

    Swift에서 OR 연산자를 어떻게 사용할 수 있습니까?

  11. 11

    통합 연산자와 함께 try를 어떻게 사용할 수 있습니까?

  12. 12

    객체와 함께 나머지 연산자 메서드를 어떻게 사용할 수 있습니까?

  13. 13

    PDF : Latex에서 만든 PDF 테이블은 PDF 연산자를 사용하여 어떻게 표현됩니까?

  14. 14

    비트 연산자를 사용하여 루프백 모델을 요청할 수 있습니까?

  15. 15

    이 비트 연산자의 구현이 어떻게 의미가 있습니까?

  16. 16

    이 함수는 비트 연산자 만 사용하여 3 개의 정수를 어떻게 합합니까?

  17. 17

    이 함수는 비트 연산자 만 사용하여 3 개의 정수를 어떻게 합합니까?

  18. 18

    외부 명령을 실행할 때 '>'리디렉터 연산자를 어떻게 사용할 수 있습니까?

  19. 19

    논리 OR와 혼합 된 삼항 연산자를 어떻게 사용할 수 있습니까?

  20. 20

    PHP로 mysql에서 산술 연산자로 값을 어떻게 저장할 수 있습니까?

  21. 21

    모듈러스 연산자를 사용하여 소수점을 어떻게 설명 할 수 있습니까?

  22. 22

    산술 연산자 만 사용하여 나머지로 몫 구하기

  23. 23

    어쨌든 honysql select 구성 요소에서 SQL 산술 연산자를 사용할 수 있습니까?

  24. 24

    Bash를 사용하여 잘못된 산술 연산자를 수정하려면 어떻게해야합니까?

  25. 25

    AND 연산자를 사용하여 두 표현식을 어떻게 연결할 수 있습니까?

  26. 26

    C ++ [] 연산자와 함께 fstream을 사용하여 파일의 문자를 어떻게 변경할 수 있습니까?

  27. 27

    GDB를 사용하여 레지스터에서 산술 연산을 어떻게 수행 할 수 있습니까?

  28. 28

    C ++의 클래스에서 연산자 오버로딩 함수를 어떻게 사용할 수 있습니까?

  29. 29

    문자열에서 삼항 연산자를 어떻게 사용할 수 있습니까?

뜨겁다태그

보관