那曲檬骨新材料有限公司

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娱乐场下载 df888ylc3403| 百家乐高手怎么下注| 太阳城在线娱乐网| 真人百家乐新开户送彩金| 太阳城百家乐官网的分数| 百家乐五湖四海娱乐场开户注册| 百家乐官网秘| 太阳城开户网| 玩百家乐有何技巧| 网上的百家乐官网是假的吗| 迅盈网球比分| 宝马会百家乐娱乐城| 百家乐官网赌博破解方法| 财神娱乐城信誉| 太阳城娱乐正网| 百家乐庄闲赢负表| 广东百家乐官网主论坛| 高淳县| 博彩游戏机| 百乐坊百家乐官网娱乐城| 百家乐官网接线玩法| 大发888最佳状态| 百家乐桌布橡胶| 百家乐数学规律| 百家乐官网英皇赌场娱乐网规则| 百家乐官网庄和闲的赌法| 广河县| 大发888娱乐场手机版| 圣淘沙百家乐的玩法技巧和规则| 百家乐娱乐网会员注册| 真人百家乐澳门娱乐城| 星河百家乐现金网| 财神百家乐官网的玩法技巧和规则| 百家乐官网讯特| 澳门百家乐官网怎么赢钱| 百家乐官网网上最好网站| 蒙城县| 百家乐官网高人破解| 庆元县| 黑河市| 青州市|