C语言基础篇(2):按位比较是否相等、找出不是成对出现的单数、不用中间变量实现两个数的交换
来源:互联网 发布:私人影院点播软件 编辑:程序博客网 时间:2024/05/01 05:29
//两个32比特位的数有几个不相同的比特位#include<stdio.h>#include<windows.h>int main(){int m, n, i, x, y, count = 0;printf("请输入m,n:");scanf_s("%d%d", &m, &n);for (i = 31; i >= 0; i--){x = m % 2;m = m / 2;y = n % 2;n = n / 2;if (x != y) //通过循环比较每一位是否相等{count++;}}printf("不同的bit位有%d个\n", count);system("pause");return 0;}
//找出一串两两成对出现的数中只出现一次的单数#include<stdio.h>#include<windows.h>int main(){int arr[] = { 1, 3, 3, 1, 4, 9, 4, 5, 5 };int i = 0;int len = sizeof(arr) / sizeof(arr[0]);for (i = 1; i < len; i++){ arr[0] = arr[0] ^ arr[i];//将这组数中所有数取按位或,由于相异为1,相同为0,故位运算剩下为1的就是单数}printf("这个单数是:%d", arr[0]);system("pause");return 0;}
//不借用中间变量实现两个数的交换(此处的程序右移和除以2是一样)#include<stdio.h>#include<windows.h>int main(){int a, b;int avg = 0;scanf("%d%d", &a, &b);avg = (a + b) >> 1;//右移一位相当于除以2printf("%d\n", avg);system("pause");return 0;}
0 0
- C语言基础篇(2):按位比较是否相等、找出不是成对出现的单数、不用中间变量实现两个数的交换
- 不用中间变量进行两个数的交换(C语言)
- 两个数间的交换(按位操作不用中间变量temp即可实现两个数据的交换)C++按位与运算交换数据vs2013环境
- 不用中间变量实现两个数的交换
- 位操作(一)交换两个数不用中间变量
- 【C++】怎样不用中间变量temp 实现两个数交换
- 不用中间变量交换两个数的值的方法
- c语言中不需要中间变量就能实现两个数交换的几种算法
- 不用临时变量交换两个数的值(C实现)
- 不用中间变量交换两个数的陷阱
- 不用中间变量,交换两个数的值
- 不用中间变量交换两个数的值
- 不用中间变量,实现两个变量的交换
- 【转】 不用中间变量,实现两个变量的交换
- 不用中间变量,实现两个变量的交换
- 不用中间变量,实现两个变量的交换
- 使用位运算实现判断一个数是否是2的n次方,实现不需要中间变量进行两个变量值的交换
- 两个变量a,b,不用“if”,“? :”,switch或者其它判断语句,找出两个数中间比较大的
- android照相、图片压缩
- 吴恩达机器学习笔记_第三周
- Hadoop 2.6.0集群的安装
- Hdu oj 2066 一个人的旅行(floyd剪枝)
- ListView中的数据一直显示在最底部(类似聊天中的信息列表)
- C语言基础篇(2):按位比较是否相等、找出不是成对出现的单数、不用中间变量实现两个数的交换
- 商品管理数据表设计
- linux 下使用 tc 模拟网络延迟和丢包
- 如何对Android应用程序进行JUnit测试
- 人之初,只有欲望
- 剑指offer之面试题4:替换空格
- 常用C/C++开发环境【待补充】
- keil 中调用printf 的使用 在软件调试下 serial windows 下显示答打印信息
- HDU2097 Sky数