ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

常用c语言函数

2022-01-25 20:02:44  阅读:156  来源: 互联网

标签:语言 常用 函数 sum long result dec oct define


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("%ld\n", 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')/* 当字符是'0'--'9'时,*-‘0'就行了 */
 {
           t=s[i]-'0';

 }

 if(s[i]>='a'&&s[i]<='z'){
           t=s[i]-'a'+10;/* 当字符是 abcdef 时,*-‘a’+10 就行了 */
 }

 if(s[i]>='A'&&s[i]<='Z')

 {
           t=s[i]-'A'+10;/* 当字符是 ABCDEF 时,*-‘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)) 

标签:语言,常用,函数,sum,long,result,dec,oct,define
来源: https://blog.csdn.net/qq_42174306/article/details/122690845

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有