/**
- @brief 將整數轉換為字串
- @param str: 字串
- @param intnum: 要轉換的整數 10位數
- @retval none
*/void
int2str
(uint8_t
* str,
int32_t intnum)
else
}}
2021-04-02更新記錄:
以下方式也可以實現。
static
char
*itoa
(int value,
char
*string,
int radix)if(
!value)
/* if this is a negative value insert the minus sign. */
if(value <0)
for(i =
10000
; i >
0; i /=10
)//把每整數的每一位分別格式化成字元
}/* null terminate the string. */
*ptr =0;
return string;
}
//define 巨集
#define is_af(c) ((c >= 'a') && (c <= 'f'))
#define is_af(c) ((c >= 'a') && (c <= 'f'))
#define is_09(c) ((c >= '0') && (c <= '9'))
#define isvalidhex(c) is_af(c) || is_af(c) || is_09(c)
#define isvaliddec(c) is_09(c)
#define convertdec(c) (c - '0')
#define converthex_alpha(c) (is_af(c) ? (c - 'a'+10) : (c - 'a'+10))
#define converthex(c) (is_09(c) ? (c - '0') : converthex_alpha(c))
/** * @brief 將字串轉換為整數
* @param inputstr: 要轉換的字串
* @param intnum: 整數值
* @retval 1: 轉換成功
* 0: 錯誤
*/uint32_t str2int
(uint8_t *inputstr, int32_t *intnum)
for(i =
2; i <
11; i++)if
(isvalidhex
(inputstr[i]))
else
}/* over 8 digit hex --invalid */
if(i >=11)
}else
/* max 10-digit decimal input */
elseif(
(inputstr[i]
=='k'
|| inputstr[i]
=='k')&&
(i >0)
)elseif(
(inputstr[i]
=='m'
|| inputstr[i]
=='m')&&
(i >0)
)elseif(
isvaliddec
(inputstr[i]))
else
}/* over 10 digit decimal --invalid */
if(i >=11)
}return res;
}
c 語言中一些特殊函式的整理
1 gets 函式 gets認為回車 是輸入結束標示,空格不是輸入結束標示,所以用gets這個函式就可以實現輸入帶空格的字串 gets和scanf一樣存在緩衝區溢位的問題 int main gets ch int len 0 while ch len len printf s ch return 0...
tensorflow中一些常用函式記錄
簡單函式不給用例 函式原型 def moments x,axes,shift none,pylint disable unused argument name none,keep dims false 例子img tf.variable tf.random normal 2,3,4 keep dim...
c語言中一些常用的操作符
操作符是我們學習程式設計不可或缺的一部分,熟練掌握操作符是我們學好程式設計的基礎。但是c語言的操作符它的品種繁多,為了便於解釋,我將按照操作的功能或它們的使用方式對它們進行分類。1.算數操作符 例如 c a b c a b c a b c a b c a b 注意 1 除了 操作符,其餘幾個操作符都...