国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

逍遙自在學(xué)C語言 | 位運算符^的高級用法

這篇具有很好參考價值的文章主要介紹了逍遙自在學(xué)C語言 | 位運算符^的高級用法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

在上一篇文章中,我們介紹了|運算符的高級用法,本篇文章,我們將介紹^ 運算符的一些高級用法。

逍遙自在學(xué)C語言 | 位運算符^的高級用法

一、人物簡介

  • 第一位閃亮登場,有請今后會一直教我們C語言的老師 —— 自在。

逍遙自在學(xué)C語言 | 位運算符^的高級用法

  • 第二位上場的是和我們一起學(xué)習(xí)的小白程序猿 —— 逍遙。

逍遙自在學(xué)C語言 | 位運算符^的高級用法

二、交換兩個變量的值

#include <stdio.h>

int main() 
{
    int a = 10;
    int b = 20;
    printf("交換前: a = %d, b = %d\n", a, b);
    a ^= b;
    b ^= a;
    a ^= b;
    printf("交換后: a = %d, b = %d\n", a, b);
    return 0;
}

逍遙自在學(xué)C語言 | 位運算符^的高級用法

  • 兩個相同的數(shù),異或結(jié)果為0
  • 第一次的a ^= b 等價于 a = a ^ b
  • b ^= a 此時等價于 b = b ^ a ^ b ,結(jié)果為 b = a
  • 第二次的a ^= b 此時等價于 a = a ^ b ^ a,結(jié)果為 a = b
  • 這樣ab的數(shù)值就進(jìn)行了交換

三、判斷兩個變量的符號是否相同

#include <stdio.h>

int main() 
{
    int x = 10;
    int y = -20;
    if ((x ^ y) < 0) 
    {
        printf("x 和 y符號相反\n");
    }
    else 
    {
        printf("x 和 y符號相同\n");
    }
    return 0;
}

逍遙自在學(xué)C語言 | 位運算符^的高級用法

  • 有符號數(shù)的最高位是符號位,0表示正數(shù),1表示負(fù)數(shù)
  • 如果兩個有符號數(shù)的最高位相同,則最高位異或結(jié)果為0,反之則為1

四、將一個數(shù)的某些位翻轉(zhuǎn)

#include <stdio.h>
int main() 
{
    unsigned int num = 12; // 0b1100
    unsigned int mask = 7; // 0b0111
    unsigned int result = num ^ mask; // 0b1011 
    printf("原始數(shù)據(jù): %u\n", num);
    printf("掩碼: %u\n", mask);
    printf("位翻轉(zhuǎn)后: %u\n", result);
    return 0;
}

逍遙自在學(xué)C語言 | 位運算符^的高級用法

  • num的二進(jìn)制表示為1100,mask的二進(jìn)制表示為0111
  • 從低位往高位數(shù),num和mask第三位相同,都為1,所以這一位的異或結(jié)果為0
  • 最終的結(jié)果為1011

五、求兩個數(shù)的平均數(shù)

#include <stdio.h>
int main()
{
  int a = 15;	// 0b1111
  int b = 5;	// 0b0101
  int avg = (a&b) + ((a^b)>>1);
  printf(" %d 和 %d 的平均數(shù)為 %d\n", a, b, avg);
  return 0;
}

逍遙自在學(xué)C語言 | 位運算符^的高級用法

  • a的二進(jìn)制表示為1111,b的二進(jìn)制表示為0101
  • 按位與(&)運算后得到兩者相同的部分0101
  • 按位異或(^)運算后得到兩者不同的部分1010
  • (a ^ b)>> 1,等價于(a ^ b)/2,也就是將兩者不同的部分除以2
  • 相同的部分,加上二分之一不同的部分,就得到兩個數(shù)的平均數(shù)

小結(jié)

通過這篇文章,我們學(xué)會了用位運算符^的4種高級用法

1、交換兩個變量的值

2、判斷兩個變量的符號是否相同

3、將一個數(shù)的某些位翻轉(zhuǎn)

4、求兩個數(shù)的平均數(shù)

在下一篇文章中,我們將介紹位運算符~的一些高級用法。

??歡迎各位 ??點贊 ?收藏 ??評論,如有錯誤請留言指正,非常感謝!文章來源地址http://www.zghlxwxcb.cn/news/detail-411288.html

到了這里,關(guān)于逍遙自在學(xué)C語言 | 位運算符^的高級用法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 逍遙自在學(xué)C語言  位運算符 "|" 的5種高級用法

    逍遙自在學(xué)C語言 位運算符 "|" 的5種高級用法

    在上一篇文章中,我們介紹了 運算符的高級用法,本篇文章,我們將介紹 | 運算符的一些高級用法。 第一位閃亮登場,有請今后會一直教我們C語言的老師 —— 自在。 第二位上場的是和我們一起學(xué)習(xí)的小白程序猿 —— 逍遙。 通過這篇文章,我們學(xué)會了用位運算符 | 的5種高

    2023年04月11日
    瀏覽(25)
  • 逍遙自在學(xué)C語言 | 賦值運算符

    逍遙自在學(xué)C語言 | 賦值運算符

    在C語言中,賦值運算符用于將一個值賦給變量 這個過程分為兩個步驟: 計算賦值運算符右側(cè)的表達(dá)式 將結(jié)果賦給左側(cè)的變量。 C語言提供了多個不同的賦值運算符,包括基本的賦值運算符、復(fù)合賦值運算符以及條件賦值運算符等 第一位閃亮登場,有請今后會一直教我們C語

    2023年04月24日
    瀏覽(30)
  • 逍遙自在學(xué)C語言 | 位運算符的基礎(chǔ)用法

    逍遙自在學(xué)C語言 | 位運算符的基礎(chǔ)用法

    第一位閃亮登場,有請今后會一直教我們C語言的老師 —— 自在。 第二位上場的是和我們一起學(xué)習(xí)的小白程序猿 —— 逍遙。 位運算符是一組用于在二進(jìn)制數(shù)之間進(jìn)行操作的運算符 運算符 名稱 示例 位與 a b | 位或 a | b ^ 位異或 a ^ b ~ 位取反 ~a 二進(jìn)制左移 a 2 二進(jìn)制右移 a

    2023年04月08日
    瀏覽(31)
  • 逍遙自在學(xué)C語言 | 函數(shù)初級到高級解析

    逍遙自在學(xué)C語言 | 函數(shù)初級到高級解析

    函數(shù)是C語言中的基本構(gòu)建塊之一,它允許我們將代碼組織成可重用、模塊化的單元。 本文將逐步介紹C語言函數(shù)的基礎(chǔ)概念、參數(shù)傳遞、返回值、遞歸以及內(nèi)聯(lián)函數(shù)和匿名函數(shù)。 第一位閃亮登場,有請今后會一直教我們C語言的老師 —— 自在。 第二位上場的是和我們一起學(xué)

    2024年02月12日
    瀏覽(32)
  • 逍遙自在學(xué)C語言 |  函數(shù)初級到高級解析

    逍遙自在學(xué)C語言 | 函數(shù)初級到高級解析

    函數(shù)是C語言中的基本構(gòu)建塊之一,它允許我們將代碼組織成可重用、模塊化的單元。 本文將逐步介紹C語言函數(shù)的基礎(chǔ)概念、參數(shù)傳遞、返回值、遞歸以及內(nèi)聯(lián)函數(shù)和匿名函數(shù)。 第一位閃亮登場,有請今后會一直教我們C語言的老師 —— 自在。 第二位上場的是和我們一起學(xué)

    2024年02月11日
    瀏覽(27)
  • 逍遙自在學(xué)C語言 | 多級指針探秘

    逍遙自在學(xué)C語言 | 多級指針探秘

    多級指針在C語言中是一種特殊的指針類型,它可以指向其他指針的指針。 通過多級指針,我們可以間接地訪問或修改存儲在內(nèi)存中的數(shù)據(jù)。 在本文中,我們將討論多級指針的概念、使用方法、使用場景以及常見錯誤及其避免方法。 第一位閃亮登場,有請今后會一直教我們

    2024年02月10日
    瀏覽(41)
  • 逍遙自在學(xué)C語言 | 指針的基礎(chǔ)用法

    逍遙自在學(xué)C語言 | 指針的基礎(chǔ)用法

    在C語言中,指針是一項重要的概念,它允許我們直接訪問和操作內(nèi)存地址。 可以說,指針是C語言一大優(yōu)勢。用得好,你寫程序如同趙子龍百萬軍中取上將首級;用得不好,則各種問題層出不窮,有種雙拳難敵四手的感覺。 本文將介紹指針的基礎(chǔ)知識,包括指針的定義、初始

    2024年02月09日
    瀏覽(32)
  • 逍遙自在學(xué)C語言 |  for循環(huán)詳解

    逍遙自在學(xué)C語言 | for循環(huán)詳解

    C語言中的循環(huán)結(jié)構(gòu)時, for 循環(huán)是最常用的一種。它允許重復(fù)執(zhí)行一段代碼,直到滿足特定條件為止。 本文將詳細(xì)介紹 for 循環(huán)的用法,并提供相關(guān)的可編譯運行的C代碼示例。 第一位閃亮登場,有請今后會一直教我們C語言的老師 —— 自在。 第二位上場的是和我們一起學(xué)習(xí)

    2024年02月08日
    瀏覽(33)
  • 逍遙自在學(xué)C語言 | 枚舉的那些事兒

    逍遙自在學(xué)C語言 | 枚舉的那些事兒

    在C語言中,枚舉是一種方便組織和表示一組相關(guān)常量的工具。枚舉類型有助于提高代碼的可讀性和可維護(hù)性。本文將介紹C語言枚舉的基本概念、語法和用法,以及一些高級技巧。 第一位閃亮登場,有請今后會一直教我們C語言的老師 —— 自在。 第二位上場的是和我們一起學(xué)

    2024年02月08日
    瀏覽(31)
  • 逍遙自在學(xué)C語言 | 指針和數(shù)組的關(guān)聯(lián)

    逍遙自在學(xué)C語言 | 指針和數(shù)組的關(guān)聯(lián)

    指針和數(shù)組之間存在著緊密的關(guān)系。在本文中,我們將探討指針和數(shù)組的關(guān)系、指針?biāo)阈g(shù)和數(shù)組遍歷、多維數(shù)組與指針以及指針數(shù)組和數(shù)組指針。 第一位閃亮登場,有請今后會一直教我們C語言的老師 —— 自在。 第二位上場的是和我們一起學(xué)習(xí)的小白程序猿 —— 逍遙。 在

    2024年02月09日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包