0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言的幾種位操作運(yùn)算程序詳細(xì)說明

Wildesbeast ? 來源:福星電子網(wǎng) ? 作者:福星電子網(wǎng) ? 2020-07-18 12:00 ? 次閱讀

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

#define uchar unsigned char

/*測(cè)試變量某一位是否為‘1’,是返回真,否返回假,num為待測(cè)試的數(shù),bit為位數(shù),其值從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) /*設(shè)置某一位*/

{

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];

}

/*以下主程序演示,調(diào)用時(shí),可以直接給出數(shù)值,也可以給出變量名*/

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));

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135603
  • 程序
    +關(guān)注

    關(guān)注

    115

    文章

    3749

    瀏覽量

    80670
  • 運(yùn)算
    +關(guān)注

    關(guān)注

    0

    文章

    129

    瀏覽量

    25760
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    技術(shù)干貨驛站 ▏解鎖C語言高效編程秘訣:深入解析運(yùn)算符與優(yōu)先級(jí)

    C語言的學(xué)習(xí)過程中,運(yùn)算符的使用是不可忽視的重要環(huán)節(jié)。本文將繼續(xù)深入探討C語言中的運(yùn)算符,重點(diǎn)
    的頭像 發(fā)表于 10-13 08:09 ?135次閱讀
    技術(shù)干貨驛站 ▏解鎖<b class='flag-5'>C</b><b class='flag-5'>語言</b>高效編程秘訣:深入解析<b class='flag-5'>運(yùn)算</b>符與優(yōu)先級(jí)

    技術(shù)干貨驛站 ▏深入理解C語言:編程高手必備,全方位解析運(yùn)算符的核心技能!

    過程中發(fā)揮著重要作用,還對(duì)程序的性能和穩(wěn)定性產(chǎn)生直接影響。繼上一期對(duì)C語言常量的深入分析后,本文將進(jìn)一步探討C語言中的常用
    的頭像 發(fā)表于 09-18 15:56 ?259次閱讀
    技術(shù)干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:編程高手必備,全方位解析<b class='flag-5'>運(yùn)算</b>符的核心技能!

    3KW工業(yè)變頻器電路設(shè)計(jì)方案詳細(xì)說明

    3KW工業(yè)變頻器電路設(shè)計(jì)方案詳細(xì)說明
    的頭像 發(fā)表于 03-19 08:33 ?805次閱讀
    3KW工業(yè)變頻器電路設(shè)計(jì)方案<b class='flag-5'>詳細(xì)說明</b>

    STM32開發(fā)中的運(yùn)算以及操作

    操作。同時(shí),STM32還提供了操作,使得對(duì)單個(gè)位進(jìn)行操作更加方便。本文將詳細(xì)介紹STM32開發(fā)中的
    的頭像 發(fā)表于 02-02 14:38 ?1383次閱讀

    怎么寫出效率高、思路清晰的C語言程序?

    要用C語言的思維方式來進(jìn)行程序的構(gòu)架構(gòu)建 要有良好的C語言算法基礎(chǔ),以此來實(shí)現(xiàn)程序的邏輯構(gòu)架
    的頭像 發(fā)表于 01-02 14:20 ?492次閱讀

    javascript規(guī)定了幾種語言類型

    和移動(dòng)應(yīng)用程序。JavaScript的靈活性和易用性使其成為開發(fā)人員最喜愛的編程語言之一。本文將詳細(xì)介紹JavaScript的幾種語言類型。
    的頭像 發(fā)表于 12-03 11:37 ?706次閱讀

    單片機(jī)C語言操作的編程實(shí)現(xiàn):置和清零

    前面介紹了C語言編程的6種操作,分別是按與“&”、按“或|”、按
    的頭像 發(fā)表于 11-28 09:35 ?5559次閱讀
    單片機(jī)<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>位</b><b class='flag-5'>操作</b>的編程實(shí)現(xiàn):置<b class='flag-5'>位</b>和清零

    C語言運(yùn)行環(huán)境是什么

    計(jì)算等多個(gè)領(lǐng)域。為了能夠正確、有效地運(yùn)行C語言程序,必須具備相應(yīng)的運(yùn)行環(huán)境。 C語言運(yùn)行環(huán)境包括軟件運(yùn)行環(huán)境和硬件運(yùn)行環(huán)境兩個(gè)方面。下面將從
    的頭像 發(fā)表于 11-27 16:13 ?3165次閱讀

    c程序的運(yùn)行環(huán)境和運(yùn)行c程序的方法

    C語言是一種通用的、高效的編程語言,被廣泛用于系統(tǒng)開發(fā)、嵌入式設(shè)備以及科學(xué)計(jì)算等領(lǐng)域。為了正確運(yùn)行C程序,我們需要了解
    的頭像 發(fā)表于 11-27 16:00 ?1840次閱讀

    c語言程序設(shè)計(jì)基礎(chǔ)知識(shí)點(diǎn)

    C語言是一種通用的高級(jí)編程語言,廣泛應(yīng)用于系統(tǒng)軟件、應(yīng)用程序和嵌入式系統(tǒng)的開發(fā)。它是一種結(jié)構(gòu)化編程語言,具有強(qiáng)大的功能和高效的執(zhí)行效率,對(duì)計(jì)
    的頭像 發(fā)表于 11-27 15:25 ?1497次閱讀

    如何把c語言程序變成應(yīng)用程序

    C語言程序轉(zhuǎn)變?yōu)閼?yīng)用程序可以分為以下幾個(gè)步驟:編寫源代碼、編譯、鏈接和運(yùn)行。在這篇文章中,我將詳細(xì)介紹這些步驟以及相關(guān)的工具和技術(shù)。 第
    的頭像 發(fā)表于 11-26 09:04 ?3153次閱讀

    c語言程序main函數(shù)的位置

    C語言程序中的main函數(shù)是程序的入口點(diǎn),它被認(rèn)為是C語言
    的頭像 發(fā)表于 11-24 10:23 ?2129次閱讀

    c語言程序實(shí)例大全

    電子發(fā)燒友網(wǎng)站提供《c語言程序實(shí)例大全.rar》資料免費(fèi)下載
    發(fā)表于 11-20 11:39 ?1次下載
    <b class='flag-5'>c</b><b class='flag-5'>語言</b><b class='flag-5'>程序</b>實(shí)例大全

    C語言教程及經(jīng)典程序

    電子發(fā)燒友網(wǎng)站提供《C語言教程及經(jīng)典程序.rar》資料免費(fèi)下載
    發(fā)表于 11-18 10:37 ?1次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>教程及經(jīng)典<b class='flag-5'>程序</b>

    C語言運(yùn)算符的使用方法

    詳細(xì)介紹了C語言表達(dá)式、算術(shù)運(yùn)算符、賦值運(yùn)算符、關(guān)系運(yùn)算符、條件結(jié)構(gòu)、邏輯
    發(fā)表于 11-02 11:30 ?1249次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>運(yùn)算</b>符的使用方法