숙제 4 (패리티 비트)
31-비트로 만들어진 데이터와 가장 높은 자리에 있는 1개의 패리티 비트를 포함하는 총 32-비트의 데이터를 송신하는 송신 측에서 짝수 패리티 기법을 이용하여 패리티를 정하여 송신할 데이터를 만드는 프로그램을 작성하시오.
#include<iostream>
using namespace std;
int main(){
unsigned int num=0x00;
cin>>num;
int tmp=num;
int count=0x00;
while(1){
if(tmp%2==1) count++;
tmp/=2;
if(tmp==0) break;
}
if(count%2==1) num|=0x80000000;
cout<<num<<endl;
return 0;
}
'코딩테스트' 카테고리의 다른 글
[C++] 해밍 수 (Hamming Number) (0) | 2021.06.27 |
---|---|
[C++] 농장 (0) | 2021.06.27 |
[C++] 소수 (0) | 2021.06.27 |
[C++] 다각형 면적 (0) | 2021.06.27 |
[C++] 삼각형 면적 (0) | 2021.06.27 |