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

標(biāo)題: 一個(gè)位運(yùn)算頭文件 [打印本頁(yè)]

作者: himanzj    時(shí)間: 2022-9-22 21:48
標(biāo)題: 一個(gè)位運(yùn)算頭文件
一個(gè)位運(yùn)算頭文件,操作第幾位,可以使用變量

BIT.H
  1. char bits[9]= {0,1,2,4,8,16,32,64,128};

  2. //v,需要設(shè)置的字節(jié),
  3. //b,要設(shè)置第幾位,從 第1 位開(kāi)始
  4. #define BIT_SET(v,b) (v)|=bits[b]
  5. #define BIT_CLR(v,b) (v)&= ~bits[b]
  6. #define BIT_GET(v,b) (v)& bits[b]

  7. //ex.
  8. //char c=6,t;
  9. //BIT_SET(c,6); // c 的第6 位設(shè)置 1
  10. //BIT_CLR(c,2); //c 的第2位 清 0
  11. //t= BIT_GET(c,2);  讀取c的 第2 位//
復(fù)制代碼

作者: himanzj    時(shí)間: 2022-9-22 21:50
好用,歡迎使用
作者: himanzj    時(shí)間: 2022-9-28 08:57
增加一個(gè) 某位取反運(yùn)算

#define BIT_REV(v,b) v^= bits[b]  //把v 的 b位取反

作者: 188610329    時(shí)間: 2022-9-28 09:42
宏指令頭文件 不能這么寫(xiě)的……
宏指令的目的是: 在不影響運(yùn)行效率的前提下, 使指令的易讀性提高。
前提是不影響運(yùn)行效率。這一點(diǎn)非常重要。

#define BIT_SET(v,b) (v)|= 0x01<<(b)
#define BIT_CLR(v,b) (v)&= ~(0x01<<(b))
#define BIT_GET(v,b) (v)& (0x01<<(b))

把這3個(gè)和你寫(xiě)的3個(gè)編譯后 用實(shí)例對(duì)照看看, 比較一下代碼大小,和執(zhí)行速度的區(qū)別。
作者: himanzj    時(shí)間: 2022-9-29 07:25
188610329 發(fā)表于 2022-9-28 09:42
宏指令頭文件 不能這么寫(xiě)的……
宏指令的目的是: 在不影響運(yùn)行效率的前提下, 使指令的易讀性提高。
前 ...

左移運(yùn)算效率高 還是 直接取數(shù) 效率高
作者: hhh402    時(shí)間: 2022-9-29 09:32
99%的單片機(jī)應(yīng)用不需要考慮效率,在大量使用延時(shí)函數(shù)的時(shí)代談效率可笑,對(duì)于編程來(lái)說(shuō)熟悉什么語(yǔ)句就用什么語(yǔ)句,自己會(huì)寫(xiě)最重要,至于那種語(yǔ)句效率高無(wú)需理會(huì),少用延時(shí)函數(shù)效率最高,還有想要速度快,提高主頻就行,理論上24M主頻比12M快1倍,再怎么優(yōu)化語(yǔ)句,12M主頻快不過(guò)24M主頻(指整個(gè)程序,不是單獨(dú)某個(gè)語(yǔ)句)。提高主頻誰(shuí)都會(huì)。
作者: 188610329    時(shí)間: 2022-9-30 00:26
himanzj 發(fā)表于 2022-9-29 07:25
左移運(yùn)算效率高 還是 直接取數(shù) 效率高

就 你舉的 三個(gè)例子來(lái)講, “左移”效率高,  因?yàn),沒(méi)有“左移運(yùn)算”,編譯的時(shí)候,已經(jīng)是結(jié)果了  實(shí)際程序運(yùn)行沒(méi)有“左移”這個(gè)動(dòng)作。  而你查表是實(shí)打?qū)嵉囊ゲ榈摹?br /> 宏,不是編程,好的宏,應(yīng)該不是增加MCU額外的工作,而是增加 代碼的易讀性。
否則的話,沒(méi)必要寫(xiě)宏,寫(xiě)函數(shù)好了。
作者: himanzj    時(shí)間: 2022-9-30 14:20
188610329 發(fā)表于 2022-9-30 00:26
就 你舉的 三個(gè)例子來(lái)講, “左移”效率高,  因?yàn),沒(méi)有“左移運(yùn)算”,編譯的時(shí)候,已經(jīng)是結(jié)果了  實(shí)際 ...

宏命令中左移運(yùn)算直接給出結(jié)果,宏命令只是編譯前的字符替換
作者: zmc419    時(shí)間: 2022-10-20 11:39
好用,還有別的方法,也在用




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 北条麻妃99精品青青久久主播 | 国产成人在线视频免费观看 | 国产美女特级嫩嫩嫩bbb片 | 久久网站黄 | 欧美激情网站 | 国产高清精品一区二区三区 | 免费性视频 | 男人天堂视频在线观看 | 国产日韩欧美91 | 伊人网站 | 日韩在线一区二区三区 | 九九伦理电影 | 亚洲一二三在线观看 | 精品久久久久久久人人人人传媒 | 九九综合 | 久久精品成人 | 亚洲国产欧美日韩 | 久久er精品| 亚洲一二视频 | 欧美中文字幕一区二区 | av日韩高清 | 午夜影院在线观看免费 | 91精品国产综合久久久动漫日韩 | 中文字幕综合 | 欧美成人一级视频 | 一级毛片高清 | 亚洲不卡在线观看 | 超碰人人做 | 四虎影院在线免费观看 | 久久三级影院 | 在线中文字幕av | 久久视频一区 | 色婷婷综合网 | 精品视频一区二区三区 | 成人精品国产免费网站 | 综合久久综合久久 | 欧美日韩最新 | 欧洲性生活视频 | 在线观看www | 孕妇一级毛片 | 国产成人精品久久二区二区91 |