matlab代码转换python,matlab语言转化为python语言

  matlab代码转换python,matlab语言转化为python语言

  1.十六进制、十进制、八进制

  # includesdio。h # includestdlib。h #包含类型。h #包含断言。h static int to _ Hex(const char * str)//十六进制函数{//十六进制只有0123456789 abcdef/ABCDEFint sum=0;while(isx digit(* str))//isx digit()判断是否为十六进制数{if (isdigit(*str)) //判断是否为数字{ sum=sum * 16 * str- 0 ;} else {降低(* str);//将大写字母转化为小写字母sum=sum * 16 * str- a 10;} str}返回sum}静态int to_Dec(const char* str) //十进制函数{//十进制的话只有数字:0123456789 int sum=0;while(是数字(* str)){ sum=sum * 10 * str- 0 ;str}返回sum}静态int to_Oct(const char* str)//八进制函数{//八进制数字有:01234567 int sum=0;while (isdigit(*str) *str!=8 *str!= 9 ){ sum=sum * 8 * str- 0 ;str}返回sum}//前加静电表示是静态函数,只能在本文件调用,不能在同工程中,其它C文件调用使用静态的,可以避免不想被其它模块调用的函数调用int My _ atoi(const char * str){ assert(* str!=NULL);if(* str==NULL){ return NULL;} int index=1;//正负标记int sum=0;while(是空格(* str)){ str;} if(* str==-){ index=-index;str } if(* str== ){ str;} if(* str== 0 ){ if(*(str 1)== X *(str 1)== X ){ sum=to _ Hex(str 2);//十六进制存储方式0x 18 } else { sum=to _ Oct(str 1);//八进制存储方式018 } } else { sum=to _ Dec(str);}返回总和*指数;} int main(){ const char * str=0x 100 ;//const char * str= 0100 ;//const char * str= 100 ;int tmp=My _ atoi(str);printf(%d\n ,tmp);返回0;} 运行结果:

  0X100

  0100

  100

  2.strtol函数:将字符串转换为长整型(任何进制)

  第一个参数:字符串开始地址

  第二个参数:二级指针,返回字符串解析时停下来的位置

  第三个参数:X进制

  应用代码:

  # includesdio。h # includestdlib。hint main(){ const char * str 2= 100 ABC!;char * p;int flg=strtol(str2,p,16);printf(%d\n ,flg);printf(%s\n ,p);返回0;} 运行结果:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: