반응형
산술 연산자를 사용하여 0과 1 사이를 뒤집을 수 있습니까?
논리 및 비트 연산자를 사용하지 않고 산술 연산자를 사용하지 않고 값이 0과 1 인 정수 사이를 뒤집는 방법이 있습니까?
즉. "변수? = 변수"는 변수가 0이면 1로, 1이면 0으로 만듭니다.
x = 1 - x
0과 1 사이에서 전환됩니다.
편집 : 나는 OP가 any
연산자를 사용할 수 있다고 생각하여 질문을 잘못 읽었습니다.
조금 더 ... (무시)
x ^= 1 // bitwise operator
x = !x // logical operator
x = (x <= 0) // kinda the same as x != 1
연산자를 사용하지 않고?
int arr[] = {1,0}
x = arr[x]
0 또는 1로 초기화되었다고 가정합니다.
x = 1 - x
또 다른 방법 :
x = (x + 1) % 2
st0le의 두 번째 방법에 대한 코미디 변형
x = "\1"[x]
int flip(int i){
return 1 - i;
};
약간의 다양성을 위해 :
x = 1 / (x + 1);
x = (x == 0);
x = (x != 1);
산술 연산자 를 고려 ==
하고 있는지 확실하지 않습니다 !=
. 아마도 그렇지 않을 것이며 분명히 C에서 작동하지만 더 강력한 형식의 언어는 결과를 정수로 변환하지 않습니다.
당신은 간단히 이것을 시도 할 수 있습니다
+(!0) // output:1
+(!1) // output:0
조금 뒤집는 또 다른 방법.
x = ABS(x - 1) // the absolute of (x - 1)
참조 URL : https://stackoverflow.com/questions/4084050/can-you-use-arithmetic-operators-to-flip-between-0-and-1
반응형
'programing' 카테고리의 다른 글
Recyclerview는 Adapter 메서드를 호출하지 않습니다. : onCreateViewHolder, onBindViewHolder, (0) | 2020.12.26 |
---|---|
NSString에서 하위 문자열의 발생 횟수? (0) | 2020.12.26 |
주어진 문자열이 회문인지 확인하는 방법은 무엇입니까? (0) | 2020.12.26 |
xlwt를 사용하여 기존 통합 문서에 쓰기 (0) | 2020.12.26 |
phpmyadmin.pma_table_uiprefs가 존재하지 않습니다. (0) | 2020.12.26 |