位操作
doudouwa1234
这个作者很懒,什么都没留下…
展开
-
【C语言】请编写实现以下功能函数:实现对一个8bit数据(unsigned char)的指定位(例如第8位)的置0或置1操作,并保持其他位不变
/*请编写实现以下功能函数:实现对一个8bit数据(unsigned char)的指定位(例如第8位)的置0或置1操作,并保持其他位不变。 函数原型:void bit_set(unsigned char *p_date,unsigned char position,int flag)。 函数参数说明:p_date是指定数据源,position是指定位(1~8),flag是置0或置1。*/原创 2015-04-19 23:20:00 · 3838 阅读 · 0 评论 -
【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 · 1178 阅读 · 0 评论 -
【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 · 1451 阅读 · 0 评论 -
【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 · 6953 阅读 · 1 评论