intbinary_search(int* arr,int key,int n){
int left =0;int right = n -1;int mid;while(left <= right){
mid =(left + right)/2;if(arr[mid]> k)
right = mid -1;elseif(arr[mid]< k)
left = mid +1;elsereturn mid;}return-1;}
给出一个字节中被置1的位的个数
unsignedintTestAsOne0(char log){
int i;unsignedint num =0, val;for(i =0; i <8; i++){
// 一个字节八位
val = log >> i;
val &=0x01;if(val)
num++;}return num;}
字符串转换成整数
intInvert(char*str){
int num =0;while(*str !='\0'){
int digital =*str -48;
num = num *10+ digital;
str = str +1;}return num;}
整数转换成字符串
// 1voidintToString(int num,char* str){
sprintf(str,"%d", num);}// 2voidreverseString(char* str){
int len =0;while(str[len]!='\0'){
len++;}int i =0;int j = len -1;while(i < j){
char temp = str[i];
str[i]= str[j];
str[j]= temp;
i++;
j--;}}voidintToString(int num,char* str){
int i =0;int sign =0;if(num <0){
sign =1;
num =-num;}if(num ==0){
str[i++]='0';}while(num >