연습 2-6. 위치 p에서 시작하는 n 비트가 y의 가장 오른쪽 n 비트로 설정되고 다른 비트는 변경되지 않은 상태로 x를 반환하는 함수 setbits (x, p, n, y)를 작성합니다.K & R 운동 2-6이 실제로 요구하는 기능은 무엇입니까?
나는이 기능을 종이에 좋은 시간 또는 두 시간 동안 사용하려고 노력해 왔지만 아무 것도 얻지 못하고있다.
함수를 해석하는 방법은 임의의 길이의 비트 필드 x가 가장 오른쪽 비트부터 p
비트를 나타내는 비트를 보는 것입니다. 이 n
비트를 n
비트 필드 y의 임의의 길이에서 가장 오른쪽 비트에있는 동일한 비트로 변경하십시오.
예 : p = 7
n = 9
x가 맨 위 필드로, y가 가운데, 결과가 맨 아래 필드입니다.
나는 문제가 나는 임의의 크기의 비트 필드로이 작업을 수행 할 수있는 방법을 결정하는 데
.sizeof(x) * 8
을 사용해야합니까, 아니면 불필요한가요?
이러한 기능을 어떻게 구현할 수 있는지에 대한 힌트를 주시면 감사하겠습니다.
나는 운동의 다른 해석을 알고 싶습니다. 가능하다면이 버전을 더 쉽게 수행 할 수 있습니다. 얼마나 오래 복용하고 있는지 감안할 때이 문제에 대한 두 번째 의견을 고맙게 생각합니다. 감사합니다.
이 질문은 루프 날 던지고있다. 난 2-5에서 2-6 사이의 질문 사이에 난이도가 커진 것처럼 느껴집니다. – pdoherty926