バイナリの簡単なテーマはまとめます

1594 ワード

1.1つのデジタルバイナリシーケンスのすべての偶数ビットと奇数ビットを取得し、それぞれバイナリシーケンスを出力する. 
#include
#include
#include
using namespace std;
int main()
{
	int i=0,j=0;
	char arr1[16];  //  2           
	char arr2[16];
	int num=0;
	scanf("%d",&num);
	for(i = 0; i < 32; i += 2)
	{
		arr1[j] = ((num >> i) & 1);  //   
		j++;
	}  
	for(i = 1,j=0; i < 32; i += 2)
		{
			arr2[j] = ((num >> i) & 1);  //   
			j++;
		}
		printf("    :");  //             
		for (i = 15; i >= 0; i--)
		{
			printf("%d",arr1[i]);
		}
		printf("
"); printf(" :"); // for (i = 15; i >= 0; i--) { printf("%d",arr2[i]); } return 0; }

この問題は他人のブログを見て書いたもので、あまり上手ではありません.整数の各ビットを出力します.
#include
#include
#include
using namespace std;
void number_every(int n)
{
  if(n>9)
  {
    number_every(n/10);
  }
  printf("%d ",n%10);
}
int main()
{
  int n;
  cin>>n;
  number_every(n);
  return 0;
}

3.プログラミング実装:2つのint(32ビット)整数mとnのバイナリ表現の中で、何ビット(bit)が違いますか?入力例:1999,2299出力例:7
#include
#include
#include
using namespace std;
void number_expres(int x,int y)
{
  int cnt=0;
  for(int i=0;i<32;i++)
  {
    if(x%2!=y%2)
       cnt++;
    x/=2;
    y/=2;
  }
  cout<>x>>y;
  number_expres(x,y);
  return 0;
}