- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 【C语言】求两个数中不同的位的个数
//求两个数中不同的位的个数#include int count_different(int a, int b){ int count = 0; int c = a^b; //a,b中不同的位即为1 while (c) { count++; c = c&(c - 1); //把c中最后一个1去掉 } return count;}int main(){
2015-06-30 16:04:22 828
原创 【C语言】判断一个数是否为2的n次方
//判断一个数是否为2的n次方#include int is_two_n(int num){ if ((num&(num - 1))) //去掉一个1,判断是否为0 return -1; return 1;}int main(){ int a; printf("请输入数字:"); scanf_s("%d",&a); if (is_two_n(a)==1) pri
2015-06-30 16:03:19 11989 3
原创 【C语言】判断一个数的奇偶(位操作)
//判断一个数的奇偶#include int is_signal(int num){ if (num & 1) return 1; else return -1;}int main(){ int a; printf("请输入:"); scanf_s("%d", &a); if (is_signal(a)==1) printf("奇数\n"); else p
2015-06-30 16:02:07 6902
原创 【C语言】将二进制数逆序输出。比如6为000...0110,逆序后为0110...000
//将二进制数逆序输出。比如6为000...0110,逆序后为0110...000#include unsigned int reverse_bit(int num){ int i; int bit; unsigned new_num = 0; for (i = 0; i < 32; i++) { bit = num & 1; //取出最后一位 new
2015-06-30 16:01:03 8523
原创 【C语言】将正数转成负数,将负数转成正数
//将正数转成负数,将负数转成正数#include int change(int num){ if (num < 0) { num = ~(num - 1); } else if (num >0) { num = ~num + 1; } return num;}int main(){ printf("%d\n", change(5)); printf("%d\
2015-06-30 16:00:16 32217 3
原创 【C语言】不使用+-*/实现两个数之和
//不使用+-*/实现两个数之和#include int add(int num1, int num2){ int sum, car; do { sum = num1^num2; car = (num1&num2) >> 1; num1 = sum; num2 = car; } while (num2 != 0); return num1;}int main()
2015-06-30 15:57:16 857
原创 【C语言】不使用循环和判断语句,求出1-100之间所有数的和
//不使用循环和判断语句,求出1-100之间所有数的和#include int fun(int n, int *sum){ *sum = *sum + n; (n--) && (fun(n, sum)); return n;}int main(){ int n = 100; int sum = 0; fun(n, &sum); printf("%d\n", sum);
2015-06-30 15:53:36 2944 1
原创 【C语言】编写函数,将一个数的指定位置置0或置1
//编写函数,将一个数的指定位置置0或置1#include unsigned int set_bit(unsigned int num, int pos, int flag){ int n = 1; n = n << (pos - 1); //将n的第pos位置1,其他全为0 if (flag == 0) { num = num&(~n); } else if (fla
2015-06-30 15:51:31 6966 1
原创 【C语言】给一组组数,只有两个数只出现了一次,其他所有数都是成对出现的,找出这两个数。
//给⼀组组数,只有两个数只出现了一次,其他所有数都是成对出现的,找出这两个数。#include int find_one_pos(int num) //找一个为为1的位置{ int n = 0; while(num) { if (num & 1 == 1) break; else { n++; num >>= 1; } } return
2015-06-30 15:48:13 1458
原创 【C语言】在两个数成对出现的数组中找到一个单独的数。
//在两个数成对出现的数组中找到一个单独的数。例如{1,2,3,3,1,4,2},即找出4#include int find(int arr[], int len){ int i = 0; int ret = 0; for (i = 0; i < len; i++) { ret = ret^arr[i]; } return ret;}int main(){ int a
2015-06-30 15:45:23 1187
原创 【 数据结构】实现二叉树以及其基本操作
//实现二叉树以及其基本操作//头文件#include using namespace std;templateclass Bintree;templateclass BintreeNode{ friend class Bintree;public: BintreeNode() :data(Type()), leftchild(NULL), rightchild(N
2015-06-09 11:12:26 729
原创 【C++】智能指针auto_ptr的简单实现
//【C++】智能指针auto_ptr的简单实现#include using namespace std;template class auto_ptr{public: auto_ptr(_Ty *_P = 0) :_Owns(_Ptr != 0), _Ptr(_P) {} auto_ptr(const auto_ptr &p):_Owns(p._Owns),_Ptr(
2015-06-05 16:54:50 719
13.3.zip xcode免升级支持最新系统
2019-12-16
13.0 (17A577).zip
2019-09-21
12.4 (16G73).zip
2019-07-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人