C語言造輪子

2021-09-05 12:33:05 字數 1605 閱讀 4884

/*double 數轉 uint64_t 四捨五入法*/

/** vs 中線程安全函式 sprintf->sprintf_s

* strtok->strtok_s

* gcc 中線程安全函式 strtok->strtok_r

*/uint64_t doubletoull(double a)

; char *p = null,*pp = null;

uint64_t b = 0;

sprintf(strbuf, "%.1f", a);

p = strtok(strbuf, ".", &pp);

b = strtoull(p, null, 10);

p = strtok(null, "", &pp);

if(strtoull(p, null, 10) >= 5)

return b;

}/*獲取數值的位數*/

int32_t getnumbits(uint64_t num)

; return sprintf(atmp,"%llu",num);

}/*計算 val 的 n 次方*/

uint32_t calpower(uint32_t val, size_t n)

while (n--)

return tmp;

}/*計算 10 的次方*/

double calpoweroften(int64_t n)

}else if(n < 0)

}return tmp;

}/*8 位 bcd 資料轉換為 10 進製資料*/

void bcd8421_to_dec_uint8(uint8_t *pdata, size_t size)

if(size == 0)

for (uint32_t i = 0; i> 0x04) * 10 + tmp;

}}/*8 位 10 進製資料轉換為 bcd 資料*/

void dec_uint8_to_bcd8421(uint8_t *pdata,size_t size)

if(size == 0)

for (uint32_t i = 0; i < size; i++)

}/*資料進一法取整*/

uint32_t ceil(float val)

return (uint32_t)val;

}/*資料四捨五入取整*/

uint32_t roundingoff(float val)

return (uint32_t)val;

}/*統計字元個數(可防止溢位)*/

uint32_t charnumstatistics_s(const char *str,uint8_t size)

else

} return (en + ch);

}/*統計字元個數(不可防止溢位)*/

void charnumstatistics(const char *str,uint32_t *pen,uint32_t *pch)

else if(!(c & 0x80))

} *pen = en;

*pch = ch;

}

造輪子之我見

味,因為自己就是那一小撮喜歡造輪子的人!自己錯了,錯在哪呢?浪費時間?那麼很快的把事做完了,再做點啥呢!自己是個人英雄主義麼。想出頭麼,想要更多的公升職,加薪 麼,想要譁眾取寵麼!困惑,苦悶,壓力,壓抑,接踵而來。今天看了篇文章 似乎不光自己由此困惑,很多人或者說很多想要做輪子或者 正在造輪子的人 ...

談談自己造輪子

寫下這篇文章,主要是對我近段時間工作的反思。對於一些程式設計師來說,喜歡自己造輪子可算是乙個很平常的事情,我想可能有如下原因 我不覺得造輪子不好,曾今很長一段時間我都認為造輪子是體現自己能力很好的一種方式,但是現在越來越覺得,不要過分的去造輪子。昨天,我需要對接amazon s3的儲存,官方沒有go...

重複造輪子 kmq

第一章 kafka基礎概念 第二章 kafka集群部署實踐 第三章 重複造輪子 kmq 基於記憶體queue實現生產和消費api 1 建立記憶體blockingqueue,作為底層訊息儲存 2 定義topic,支援多個topic 3 定義producer,支援send訊息 4 定義consumer,...