吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何才能給C語言增加幾個位操作函數

Wildesbeast ? 來源:單片機教程網 ? 作者:單片機教程網 ? 2020-05-05 15:40 ? 次閱讀

匯編語言中有直接對位進行操作的指令,如置位、復位、位取反、測試某一位等,這對于硬件操作十分方便,在C語言中盡管也提供了一些位操作手段,如按位與、按位或、按位取反等,但它們是對一個字節進行操作,如要對具體的一位操作,仍舊不方便,以下給出了一些函數,可以模仿匯編語言的一些位操作功能。

#define uchar unsigned char

/*測試變量某一位是否為‘1’,是返回真,否返回假,num為待測試的數,bit為位數,其值從0到7,下同*/

uchar bittest(uchar num,uchar bit)

{ if(num》》bit&0x01==1)

return 1;

else

return 0;

}

uchar bitclr(uchar num,uchar bit) /*清除某一位*/

{

uchar bit_value[]={1,2,4,8,16,32,64,128};

return num&~bit_value[bit];

}

uchar bitset(uchar num,uchar bit) /*設置某一位*/

{

uchar bit_value[]={1,2,4,8,16,32,64,128};

return num|bit_value[bit];

}

uchar bitcpl(uchar num,uchar bit) /*取反某一位*/

{

uchar bit_value[]={1,2,4,8,16,32,64,128};

if(num》》bit&0x01==1)

return num&~bit_value[bit];

else

return num|bit_value[bit];

}

/*以下主程序演示,調用時,可以直接給出數值,也可以給出變量名*/

void main(void)

{

uchar xx=0xfe;

xx=bitset(xx,0);

printf(“The set out is %x ”,xx);

printf(“The clr out is %x ”,bitclr(255,0));

printf(“The test out is %x ”,bittest(0xff,0));

printf(“The cpl out is %x ”,bitcpl(0x00,7));

}

以上是以TC為例編寫的主程序,各函數在其它C語言中也一樣可用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137702
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62968
收藏 人收藏

    評論

    相關推薦

    C語言函數如何返回多個數據

    C語言函數如何返回多個數據?這個操作在寫代碼的時候還經常遇到。
    發表于 07-25 10:53 ?991次閱讀

    C語言中memmove函數的使用

    C語言編程中,內存操作是不可或缺的一部分,而 memmove 函數是其中一個重要的工具。本文將介紹 memmove 函數的應用場景以及提供
    發表于 09-13 09:17 ?1629次閱讀

    如何給C語言增加幾個位操作函數

    在匯編語言中有直接對位進行操作的指令,如置位、復位、位取反、測試某一位等,這對于硬件操作十分方便,在C語言中盡管也提供了一些位
    發表于 07-14 18:15

    C語言回調函數學習

    對指針的應用是C語言編程的精髓所在,而回調函數就是C語言里面對函數指針的高級應用。簡而言之,回調
    發表于 05-27 09:44 ?7224次閱讀

    C語言增加幾個位操作函數

    發表于 10-10 10:05 ?2次下載

    C語言指針函數函數指針詳細介紹

    C語言指針函數函數指針詳細介紹。。。。。。。
    發表于 03-04 15:27 ?5次下載

    C語言標準庫函數

    C語言標準庫函數,使用C語言編程時,常用到的函數
    發表于 05-11 16:41 ?0次下載

    C語言scanf函數詳解

    C語言scanf函數詳細解釋
    發表于 05-15 09:20 ?6次下載

    基于C語言標準庫函數

    基于C語言標準庫函數
    發表于 10-23 17:41 ?11次下載
    基于<b class='flag-5'>C</b><b class='flag-5'>語言</b>標準庫<b class='flag-5'>函數</b>

    嵌入式C語言的5個位操作筆記資料說明

    本文檔的主要內容詳細介紹的是嵌入式C語言的5個位操作筆記資料說明。
    發表于 05-08 18:19 ?3次下載
    嵌入式<b class='flag-5'>C</b><b class='flag-5'>語言</b>的5<b class='flag-5'>個位</b><b class='flag-5'>操作</b>筆記資料說明

    C語言編程文件操作函數庫匯總資源下載

    C語言編程文件操作函數庫匯總資源下載
    發表于 04-15 16:42 ?13次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>編程文件<b class='flag-5'>操作</b><b class='flag-5'>函數</b>庫匯總資源下載

    C語言函數速查手冊

    c\c++語言函數速查手冊
    發表于 06-30 14:48 ?11次下載

    C語言_文件IO操作函數總結

    當前文章涉及C語言文件操作相關知識點。列出最常見的文件操作函數、fopen、fread、fwrite、fclose 等。通過
    的頭像 發表于 08-14 09:53 ?2014次閱讀

    C語言函數參數介紹

    C語言數組元素作函數實參 數組元素可以用作函數實參,不能用作形參。 C語言在用數組元素作
    的頭像 發表于 03-10 14:30 ?2482次閱讀

    c語言源程序main函數的位置

    C語言源程序中的main函數是程序的入口點,它被認為是C語言程序的起點。在執行程序時,操作系統將
    的頭像 發表于 11-24 10:23 ?2716次閱讀
    大发888 赌场娱乐网规则| 唐朝百家乐官网的玩法技巧和规则| 百家乐官网单跳双跳| 屯门区| 大发888网页登陆| 大发888官网下载| 千亿娱百家乐的玩法技巧和规则 | 民和| 百家乐官网有没有绝| 达拉特旗| 百家乐官网顶路| 百家乐官网强对弱的对打法| 欧洲百家乐官网的玩法技巧和规则| 24山吉凶段| 赌场百家乐代理| 同花顺百家乐娱乐城| 大发888娱乐城 34| 阳谷县| 澳门百家乐官网规则| 澳门百家乐官网赌技巧| 百家乐官网用品| 百家乐15人桌布| 机器百家乐软件| 大发888主页优惠| 六合彩天线宝宝| 真钱百家乐官网注册送| 威尼斯人娱乐城网址是| 大发888娱乐游戏可以玩吗| 泌阳县| 总统百家乐官网的玩法技巧和规则 | 百家乐官网种类| 百家乐赌机厂家| 大发888 代充| 泗水县| CEO百家乐官网的玩法技巧和规则| 百家乐视频免费下载| 威尼斯人娱乐城代理注册| 皇冠网络| 注册娱乐城送体验金| 赌博百家乐官网规则| 评测百家乐博彩网站|