«bitwise-operators» 태그된 질문

비트 패턴과 이진 숫자를 직접 조작하는 저수준의 기본 연산

7
비트 마스크가 "마스크"라고하는 이유는 무엇이며 어떤 용도로 사용됩니까?
"비트 마스크"가 왜 이렇게 호출됩니까? 나는 주로 비트 연산에 사용되며 비트 마스크 사용은 별도의 변수 사용보다 효율적이라는 것을 알고 있습니다. 그러나 내 질문은 비트 마스크가 발명 된 이유와시기입니다. 초기 컴퓨팅 이후에 사용 되었습니까? IT 도메인의 비트 마스크 외에 다른 유형의 "마스크"가 있습니까?

2
비트 연산자가 비교보다 우선 순위가 낮은 이유는 무엇입니까?
가장 인기있는 언어 (아래 참고 참조)에서 비교 연산자 (==,! =, <,>, <=,> =)가 비트 연산자 (&, |, ^ ~)? 나는이 우선 순위가 자연 스러울 수있는 곳에서 사용 된 적이 없다고 생각합니다. 항상 다음과 같습니다. if( (x & MASK) == CORRECT ) ... // Chosen bits are in correct setting, rest …


13
다재다능한 프로그래머는 비트 단위 연산에 얼마나 능숙해야합니까? [닫은]
나는 최근에 OpenJDK 코드를 탐색 하고 비트 연산 과 관련된 흥미로운 코드를 발견 했습니다 . 심지어 StackOverflow에서 그것에 대해 질문 했습니다. 요점을 보여주는 또 다른 예는 다음과 같습니다. 1141 public static int bitCount(int i) { 1142 // HD, Figure 5-2 1143 i = i - ((i >>> 1) & 0x55555555); …

1
왜 캐럿이 지수 대신 XOR에 사용 되었습니까?
그것은 이전 에이 구문 문제에 직면 한 사람에게는 실제로 문제가되지는 않지만 ^, 널리 인정되는 수학적 지수 연산 대신 XOR 연산으로 캐럿 ( )을 사용하여 생겨난 혼란이 있습니다 . 물론 캐럿의 (오용) 사용이 설명되고 수정되는 곳이 많이 있지만 캐럿 에게 왜 다른 의미를 부여 했는지에 대한 명확한 출처를 찾지 못했습니다 . …

11
C에서 쉬프팅과 곱셈의 시간 차이를 테스트 할 때 차이가 없습니다. 왜?
나는 이진수를 바꾸는 것이 2 ^ k를 곱하는 것보다 훨씬 효율적이라는 것을 배웠다. 그래서 나는 실험하고 싶었고 다음 코드를 사용하여 이것을 테스트했습니다. #include <time.h> #include <stdio.h> int main() { clock_t launch = clock(); int test = 0x01; int runs; //simple loop that oscillates between int 1 and int 2 for …

15
비트 연산자는 무엇입니까? [닫은]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 프로그래밍 언어에는 종종 다양한 비트 연산자 (예 : 비트 왼쪽 및 오른쪽 시프트, 비트 AND, OR, XOR ...)가 …

6
비트 단위 연산을 사용하면 어떤 이점이 있습니까? [닫은]
휴무 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 최신 CodeProject 뉴스 레터를 읽은 후 비트 연산에 대한이 기사를 보았습니다 . 흥미로운 독서가 가능하며 정수가 짝수인지 홀수인지 …

2
std :: bitset보다 c 스타일 비트 조작에 이점이 있습니까?
나는 거의 C ++ 11/14에서 독점적으로 일하고 일반적으로 다음과 같은 코드를 볼 때 울다. std::int64_t mArray; mArray |= someMask << 1; 이것은 단지 예일뿐입니다. 나는 일반적으로 비트 단위 조작에 대해 이야기하고 있습니다. C ++에서는 실제로 어떤 점이 있습니까? 위의 내용은 마음이 뒤틀리고 오류가 발생하기 쉬운 반면을 사용 std::bitset하면 다음을 수행 …

4
가장 좋아하는 비트 단위 기술은 무엇입니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …

3
음수 부호 값은 어떻게 저장됩니까?
부호있는 정수의 최대 값과 최소값 으로이 비디오 를 보고있었습니다 . 양의 부호있는 값-0000 0001의 예를 들어보십시오. 첫 번째 비트는 숫자가 양수이고 마지막 7 비트는 숫자 자체임을 나타냅니다. 따라서 쉽게 +1로 해석됩니다. 이제 음수 부호 값-1000 0000의 예를 보자 -8입니다. 좋아, 컴퓨터는 첫 번째 비트 때문에 음의 값이라는 것을 이해할 수 …


3
숫자 65535에 특별한 것이 있습니까?
2¹⁶-1 & 2⁵ = 2⁵ (또는 분명히?) 개발자가 오늘 비트 단위 65535 & 32, 즉 2¹⁶-1 & 2⁵ =? 나는 처음에 자발적으로 32로 생각했지만 몇 분 동안 생각한 다음 32로 대답하는 것이 쉬워 보였습니다. 32는 정답이지만 어떻게 보입니까? 65535 = 2¹⁶-1 = 1111111111111111 (그러나이 이진수이기 때문에 모든 것이 -1 (?)이어야 …

2
'boolean nand'를 사용하여 모든 부울 논리를 빌드하는 방법과 유사한 'bitwise nand'를 사용하여 모든 비트 연산자를 정의 할 수 있습니까?
Nand 다른 모든 부울 논리 게이트를 정의 할 수 있기 때문에 '범용'논리 게이트라고합니다. not(x) = nand(x,x) and(x, y) = not(nand(x, y)) or(x, y) = nand(not(x), not(y)) nor(x, y) = not(or(x, y)) xor(x, y) = nand(nand(a, nand(a, b)), nand(b, nand(a, b))) 이것은 nand-logic 으로 알려져 있으며 , 트랜지스터가 낸드 게이트처럼 동작하도록 …

3
<< >> 곱셈과 나눗셈의 속도
파이썬에서 숫자 &lt;&lt;를 곱하고 &gt;&gt;나누는 데 사용할 수 있습니다. 시간을 정할 때 바이너리 시프트 방법을 사용하면 정규 방법을 나누거나 곱하는 것보다 10 배 빠릅니다. 왜 사용 &lt;&lt;하고 &gt;&gt;많은보다 빨리 *와 /? 비하인드 프로세스가 어떻게 진행 *되고 /너무 느려 집니까?
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.