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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2961|回復: 7
打印 上一主題 下一主題
收起左側(cè)

轉(zhuǎn)一個大神的C語言浮點數(shù)轉(zhuǎn)字符串數(shù)組代碼

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

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

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

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

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

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

使用道具 舉報

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

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合在线一区二区 | 91资源在线 | 久久99精品久久久久久琪琪 | 亚洲精品www久久久久久广东 | 在线三级网址 | 麻豆国产精品777777在线 | 国产一区二区三区亚洲 | 久久国产精品72免费观看 | av在线伊人 | 久久精品一 | 91久久综合亚洲鲁鲁五月天 | 色婷婷在线视频 | 综合久久综合久久 | 精品欧美一区二区在线观看欧美熟 | h片在线观看网站 | 丁香六月激情 | 亚洲一区 中文字幕 | 国产一区二区在线播放 | 欧美伊人久久久久久久久影院 | 久久精品国产久精国产 | 国产小u女发育末成年 | 99精品国产一区二区青青牛奶 | 一区二区福利视频 | 久久亚洲欧美日韩精品专区 | 91在线看片 | 高清18麻豆 | 成人免费在线 | 超碰成人免费观看 | 浮生影院免费观看中文版 | 天堂在线免费视频 | 欧美日韩视频在线第一区 | 91av在线免费观看 | 久久精品亚洲成在人线av网址 | 伦理午夜电影免费观看 | 综合久久亚洲 | 一区二区在线不卡 | 国产精品99久久久久久久vr | 国产 91 视频| 亚洲一区二区 | 激情免费视频 | 久久久久久国产精品三区 |