하나의 바이트에 두 개의 4 비트 정수 (1,4,7 .....)를 저장하고 싶습니다.두 개의 정수를 하나의 단일 바이트로 저장하십시오.
나는 2 개의 정수 a=0001
과 b=1111
을 가지고 있는데, 정수로 메모리에 하나의 단일 바이트로 저장하고 싶습니다.
아무도 도와 줄 수 있습니까?
하나의 바이트에 두 개의 4 비트 정수 (1,4,7 .....)를 저장하고 싶습니다.두 개의 정수를 하나의 단일 바이트로 저장하십시오.
나는 2 개의 정수 a=0001
과 b=1111
을 가지고 있는데, 정수로 메모리에 하나의 단일 바이트로 저장하고 싶습니다.
아무도 도와 줄 수 있습니까?
4 비트 중 하나를 비트 시프트 한 다음 2 진 OR을 사용해야합니다. (옛 사람을 적어도 우리에게) 참고로 4 비트 정수가 구어체 니블로 알려져있다
a = number >> 4;
b = number & 15;
나는 대답을 +1하지만, OP가 많은 정보를 제공하지 않았 음을 지적하기를 원했기 때문에 unsigned short가 대상의 바이트라는 사실이 명확하지 않습니다. – Tod
좋은 지적. 우리가 그가 사용하고있는 것을 추측하고 있지만,'char'는 아마 더 일반적 일 것입니다. – Rusty
15 = 0xf (= dec : 15 = bin : "1111") – user3896501
을 :
그리고 밖으로 다시 그들을 얻을 1111b 한 마스크, 다시 다른 이동하기 – Tod