久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2740|回復: 7
打印 上一主題 下一主題
收起左側

轉一個大神的C語言浮點數轉字符串數組代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:584195 發表于 2021-8-5 07:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//========================================================================================
void Display_oled_double(unsigned char Page,unsigned char Start_SEG,double dat)                        //顯示一個雙精度浮點數據
{
                char   k[12];                 //這里不能加code限定符,否則計算不正確
                unsigned char a;
                sprintf(k,"%.2f",dat);//dat是一個浮點數,可以其它類型,unsigned char unsigned long int.......都行,無所謂的,2f是取兩個小數點后面的數1.00這樣
                for(a=0;k[a]!='\0';a++)//這個是檢測字符串有沒有結束,C語言字符是以'\0'為結尾的
                {      
                Display_oled_Shuzi_1(Page,Start_SEG,k[a]); //這是顯示函數,你自己寫
                  Start_SEG=Start_SEG+8;
                }
}
sprintf實際上是把bat分解成字符串,然后分別存放在數組 k中,一個地址存放一個字符串.k的長度10個左右就差不多了
比如:bat為:12.345
那么,sprintf執行之后
K的0地址為"1"
1地址為"2"
2地址為"."
3地址為"3"
4地址為"4"
后面的"5"就沒有了,因為"%.2f"指定小數點后面只有兩位數,你也可以試下"%.5f"看一下是什么樣子的
記住,數組里存放的是字符串,不是字符!!!!!!
所以,0地址的值實際上是1在ASCII中的值:49
這個函數會自動處理負號和小數點,最后會以'\0'結束,檢測有沒有'\0'就可以了

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:419909 發表于 2021-8-5 17:57 | 只看該作者
我記得數字轉字符串,格式是: num+'0';
比如:
unsigned char str[2], num=12;
str[0]=(num/10)+'0';
str[1]=(num%10)+'0';
回復

使用道具 舉報

板凳
ID:584195 發表于 2021-8-5 18:16 | 只看該作者
wfqxgw 發表于 2021-8-5 17:57
我記得數字轉字符串,格式是: num+'0';
比如:
unsigned char str[2], num=12;

他這個是用sprintf來轉換為字符串函數的,你這個是char。你這個也是對的,不過可以通過OLED來處理顯示數字,字符等等。
回復

使用道具 舉報

地板
ID:883242 發表于 2021-8-5 19:55 | 只看該作者
wfqxgw 發表于 2021-8-5 17:57
我記得數字轉字符串,格式是: num+'0';
比如:
unsigned char str[2], num=12;

你這個是整形,對浮點數無效。
回復

使用道具 舉報

5#
ID:401564 發表于 2021-8-6 01:28 | 只看該作者
這不是我發的那個嗎?
啥就成大神了?7月底才開始學C語言的!!
回復

使用道具 舉報

6#
ID:584195 發表于 2021-8-6 07:14 | 只看該作者
Y_G_G 發表于 2021-8-6 01:28
這不是我發的那個嗎?
啥就成大神了?7月底才開始學C語言的!!

對的,收藏一下,下次好用,謝謝你!你可是總工程師了,希望你能幫到我!
回復

使用道具 舉報

7#
ID:584195 發表于 2021-8-6 07:29 | 只看該作者
Y_G_G 發表于 2021-8-6 01:28
這不是我發的那個嗎?
啥就成大神了?7月底才開始學C語言的!!

大神,我看到2018年你就學好匯編了!
沒有說哪個好不好的,針對的東西不一樣,很多時候是沒有什么可比性,用C的話意思就是說:我不需要用到匯編的那些個優點,反過來也是一樣的,用匯編的話:我不需要C的那些優點.
很重要的一點:C語言你是一定要會的,畢竟,面試的時候這一關是肯定要過的.
至于你學單片機要用什么語言去學,選擇沒有那么難的:用匯編入門,然后再學C語言.
再說點別的吧:在小代工廠里面一般,用匯編的比較多,主要是穩定性和成本問題,在方案公司里就不同了,主要是用C,做方案快,你走人了,下一個接手也容易.
就工資而言,如果你不進入嵌入式領域,純匯編的工資是要比純用C的工資高的,因為,工業級的東西,老板是不會在乎你用什么語言來寫的,他只管看成本,能用9毛9的單片機,他肯定不會用1塊的,特別是小家電這一塊,用的大多是臺系的8位單片機,穩定性不好,資源有限,C根本寫不下,有的型號的單片機程序空間竟然是用B來做單位的.
如果你要進入嵌入式領域,卻還在相關匯編,那就是你OUT了,除非是要精確到一個時鐘的時間精度,匯編是沒有什么用處的,一個16位數除法,你只能用減去去進行,更不用說什么算法之類的的了.
匯編優點在于時間精度和代碼空間,C優點在于功能強大,沒什么好比的.想學什么就學什么,或者是自己覺得學什么容易就學什么,已經開始學C了就不要學匯編了,我就是用匯編的,雖然代碼的空間上是比C占用得少,但代碼量多呀!一個小程序,完整的寫下來,動不動就是上千行代碼,一個指令寫錯了,能讓你找一個星期......
回復

使用道具 舉報

8#
ID:401564 發表于 2021-8-6 13:22 | 只看該作者
zyluglugl 發表于 2021-8-6 07:29
大神,我看到2018年你就學好匯編了!
沒有說哪個好不好的,針對的東西不一樣,很多時候是沒有什么可比性, ...

匯編是自學的,學了幾年,用了幾年,受不了了
現在年紀也大了,得多學點才行,不然以后混不到一口吃的了
過了35去找工作,只能在經驗還加點分,不然的話,現在動不動就是985,211,像我這種高中畢業證件都是在電線桿上打電話叫人送過來的,我上哪里混飯吃呀
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 秋霞a级毛片在线看 | 午夜在线电影网 | 男女免费在线观看视频 | 国产精品毛片一区二区在线看 | 久久1区| 中文字幕人成乱码在线观看 | 久久久久久免费毛片精品 | 羞羞色网站 | av网站免费 | 免费福利视频一区二区三区 | 一区视频| 日韩网站在线观看 | 欧美成视频在线观看 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 毛片免费视频 | 国产在线观看一区二区 | 一区二区在线不卡 | 中文字幕一区二区在线观看 | 可以在线看的黄色网址 | 欧美三级电影在线播放 | 日韩视频一区二区三区 | 精品真实国产乱文在线 | 久久精品91| 国产精品久久久久久久岛一牛影视 | 成人啊啊啊 | 精品国产高清一区二区三区 | 欧美成人精品一区二区男人看 | 欧美精品久久 | 国产日产久久高清欧美一区 | 精品香蕉一区二区三区 | 久久久亚洲 | 国产区精品 | 男女羞羞视频在线观看 | 亚洲国产午夜 | 天天草av | 欧美日韩不卡合集视频 | 午夜久久久久久久久久一区二区 | 欧美精品二区三区 | 91福利影院| 精品国产乱码久久久久久久久 | 欧美综合久久久 |