操作符理解及應用

1,寫一個函數返回參數二進制中1的個數  

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int count_one_bits(unsigned int value)
{
	int count = 0;
	while (value != 0)
	{
		if ((value & 1) == 1)
		{
			++count;
		}
		value = value >> 1;
	}
	return count;
}
int main()
{
	int a = 0;
	printf("請輸入a的值:");
	scanf("%d", &a);
	int ret = count_one_bits(a);
	printf("%d\n", ret);
	system("pause");
	return 0;
}

2, 獲取一個二進制序列中所有的偶數位和奇數位,分別輸出二進制序列  

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int num = 0;
	printf("請輸入num的值:");
	scanf("%d", &num);
	for (int i = 31; i >= 0; i -= 2)
	{
		printf("%d", (num >> i) & 1);
	}
	printf("\n");
	for (int i = 30; i >= 0; i -= 2)
	{
		printf("%d", (num >> i) & 1);
	}
	printf("\n");
	system("pause");
	return 0;
}

3,編程實現 兩個int(32位)整數m和n的二進制表達式中,有多少個位(bit)不同  

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int count_different_bit(int m, int n)
{
	int tmp = m^n;
	int count = 0;
	while (tmp)
	{
		tmp = tmp&(tmp - 1);
		++count;
	}
	return count;
}
int main()
{
	int m = 0;
	int n = 0;
	scanf("%d %d", &m, &n);
	int ret = count_different_bit(m, n);
	printf("%d\n", ret);
	system("pause");
	return 0;
}

4,輸出一個整數的每一位:  

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void Print(int num)
{
	if (num > 9)
	{
		Print(num / 10);
	}
	printf("%d\n", num % 10);
}
int main()
{
	int num = 0;
	scanf("%d", &num);
	Print(num);
	system("pause");
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章