十进制(101.45)换成二进制
/***parameter: number 要转换整数ret[] 存放转换二进制字节数组ret_len 字节数组长度 *return: 0 失败1 成功**/int IntegerToBinary(int number, char ret[], int ret_len) { unsigned int index; int i=0, N=sizeof(int)*8; //获取int类型位数 if (ret_len < N) { return 0; } index = 1<<(N-1);...全部
/***parameter: number 要转换整数ret[] 存放转换二进制字节数组ret_len 字节数组长度 *return: 0 失败1 成功**/int IntegerToBinary(int number, char ret[], int ret_len) { unsigned int index; int i=0, N=sizeof(int)*8; //获取int类型位数 if (ret_len < N) { return 0; } index = 1<<(N-1); //1循环左移N-1次 for (i=0; i<N; ++i) { ret[i] = ((number&index)==0)?'0':'1'; //需要求值整型数与index按位相与从高位起判断否1 index >>= 1; //index值循环右移 } return 1; } 使用:char c[16] = {0}; IntegerToBinary(53,c,sizeof(c));。
收起