1、计算最大值和最小值
#define MAX( x, y ) ( ((x) > (y)) ? (x) : (y) ) #define MIN( x, y ) ( ((x) < (y)) ? (x) : (y) )2、将一个字母转换为大写
#define CAPITAL( c ) ( ((c) >= 'a' && (c) <= 'z') ? ((c) - 0x20) : (c) )3、获取数组元素个数
#define MY_SIZE( x ) ( sizeof( (x) ) / sizeof( (x[0]) ) )4、将二进制字符串转化为十进制
static long bin_to_dec(const char *pbin) { int ii=0; long result=0; while (pbin[ii] != 0) { result = result * 2 + (pbin[ii] - '0'); ii++; } return result; }5、十进制转化为八进制
long dec_to_oct(long dec) { int oct = 0, i = 0; i = 1; while (dec != 0){ oct += (dec % 8) * i; dec /= 8; i *= 10; } return oct; }6、十进制转化为二进制
long bec_to_bin(long n) { long result=0,k=1,i,temp; temp = n; while(temp){ i = temp%2; result = k * i + result; k = k*10; temp = temp/2; } printf("%ldn", result); return result; }7、十六进制转十进制
long lv_atk_hex_to_dex(char*s) { int i,t; long sum=0; for(i=0;s[i];i++) { if(s[i]>= '0' &&s[i]<='9') { t=s[i]-'0'; } if(s[i]>='a'&&s[i]<='z'){ t=s[i]-'a'+10; } if(s[i]>='A'&&s[i]<='Z') { t=s[i]-'A'+10; } sum=sum*16+t; } return sum; }8、八进制转十进制
long oct_to_dex(long n) { int i=0,tmp,sum=0; while(n) { tmp=n%10; n=n/10; sum+=tmp*pow(8,i); i++; } printf("%d",sum); return sum; }9、获取一个字的高位和地位
#define VALUE_L(x) ((byte) ((word)(x) & 255)) #define VALUE_H(x) ((byte) ((word)(x) >> 8))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)