欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言基礎(chǔ)操作之操作符、進(jìn)制與數(shù)據(jù)表示通俗講解

 更新時(shí)間:2025年08月05日 10:47:25   作者:意疏  
C語(yǔ)言為我們提供了許多的操作符來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理,比如基本的加減乘除,這篇文章主要介紹了C語(yǔ)言基礎(chǔ)操作之操作符、進(jìn)制與數(shù)據(jù)表示通俗講解的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

操作符詳解:從基礎(chǔ)到實(shí)用

位操作符:二進(jìn)制層面的魔法

位操作符是直接對(duì)數(shù)字二進(jìn)制位進(jìn)行操作的工具,在底層編程中非常實(shí)用:

  • 按位與(&):兩個(gè)位都為1時(shí)結(jié)果為1,可用于"清零"特定位。
int a = 0b1010; // 10
int b = 0b1100; // 12
printf("%d", a & b); // 輸出8(0b1000,保留共同為1的位)
  • 按位或(|):至少一個(gè)位為1時(shí)結(jié)果為1,可用于"設(shè)置"特定位。
printf("%d", a | b); // 輸出14(0b1110,合并所有1的位)
  • 按位異或(^):位不同時(shí)結(jié)果為1,可用于"翻轉(zhuǎn)"特定位。
printf("%d", a ^ b); // 輸出6(0b0110,不同的位保留1)
  • 左移(<<)右移(>>):將二進(jìn)制位整體移動(dòng),相當(dāng)于快速乘除2的冪。
printf("%d", 8 << 1); // 16(左移1位=×2)
printf("%d", 16 >> 2); // 4(右移2位=÷4)

賦值操作符的進(jìn)階用法

除了基本的=,復(fù)合賦值操作符能讓代碼更簡(jiǎn)潔:

int x = 10;

x += 5;  // 等價(jià)于 x = x + 5 → x=15
x *= 3;  // 等價(jià)于 x = x * 3 → x=45
x &= 0b111; // 等價(jià)于 x = x & 0b111 → 保留低3位

三元運(yùn)算符的巧妙應(yīng)用

條件操作符?:可以簡(jiǎn)化簡(jiǎn)單的if-else判斷:

int score = 75;

// 格式:條件 ? 滿足時(shí)的值 : 不滿足時(shí)的值
char* result = (score >= 60) ? "及格" : "不及格";

printf("%s", result); // 輸出"及格"

進(jìn)制轉(zhuǎn)換:程序員的"語(yǔ)言切換"

多進(jìn)制輸出技巧

在printf中用特定格式符可直接輸出不同進(jìn)制:

int num = 255;

printf("十進(jìn)制:%d\n", num);   // 255
printf("八進(jìn)制:%o\n", num);   // 377(前綴0可省略)
printf("十六進(jìn)制:%x\n", num); // ff(小寫)
printf("十六進(jìn)制:%X\n", num); // FF(大寫)

十六進(jìn)制的實(shí)用價(jià)值

十六進(jìn)制因與二進(jìn)制轉(zhuǎn)換方便(1位16進(jìn)制=4位二進(jìn)制),常用于表示內(nèi)存地址或顏色值:

int color = 0xFF0088; // 紅色(FF)、綠色(00)、藍(lán)色(88)的混合色

原碼、反碼、補(bǔ)碼:計(jì)算機(jī)的"負(fù)數(shù)思維"

為什么需要補(bǔ)碼?

  • 原碼:直接表示正負(fù),但計(jì)算時(shí)會(huì)出現(xiàn)0-0兩種表示
  • 反碼:解決了部分問(wèn)題,但仍有正負(fù)零問(wèn)題
  • 補(bǔ)碼:徹底解決正負(fù)零問(wèn)題,且能讓加減法用同一套電路實(shí)現(xiàn)

補(bǔ)碼計(jì)算實(shí)例

以8位整數(shù)為例,計(jì)算3 + (-2)

  1. 3的補(bǔ)碼:00000011
  2. -2的補(bǔ)碼:11111110(原碼10000010→反碼11111101→加1得補(bǔ)碼)
  3. 相加結(jié)果:00000011 + 11111110 = 100000001
  4. 去掉最高位溢出,得00000001(即1),計(jì)算正確!

位操作與補(bǔ)碼的配合

利用補(bǔ)碼特性可以簡(jiǎn)化操作,比如取相反數(shù):

int a = 5;

int b = ~a + 1; // 等價(jià)于 -a(補(bǔ)碼的取反加1就是相反數(shù))
printf("%d", b); // 輸出-5

通過(guò)這些基礎(chǔ)概念的理解,能幫你更深入掌握C語(yǔ)言的底層邏輯,為后續(xù)學(xué)習(xí)指針、內(nèi)存操作打下基礎(chǔ)。

總結(jié)

到此這篇關(guān)于C語(yǔ)言基礎(chǔ)操作之操作符、進(jìn)制與數(shù)據(jù)表示通俗講解的文章就介紹到這了,更多相關(guān)C語(yǔ)言操作符、進(jìn)制與數(shù)據(jù)表示內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++如何過(guò)濾出字符串的中文(GBK、UTF-8)

    C++如何過(guò)濾出字符串的中文(GBK、UTF-8)

    這篇文章主要給大家介紹了關(guān)于C++如何過(guò)濾出字符串的中文的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • C語(yǔ)言中宏定義的教學(xué)詳解

    C語(yǔ)言中宏定義的教學(xué)詳解

    在C語(yǔ)言中,宏定義是預(yù)處理器的指令,主要用于為各種數(shù)據(jù)創(chuàng)建別名,這篇文章主要來(lái)和大家分享一下宏定義的相關(guān)基礎(chǔ)知識(shí),需要的小伙伴可以了解一下
    2023-07-07
  • c語(yǔ)言string.h頭文件中所有函數(shù)示例詳解

    c語(yǔ)言string.h頭文件中所有函數(shù)示例詳解

    這篇文章詳細(xì)介紹了C語(yǔ)言標(biāo)準(zhǔn)庫(kù)中的字符串和內(nèi)存操作函數(shù),以str開(kāi)頭的字符串處理函數(shù)和以mem開(kāi)頭的內(nèi)存處理函數(shù),每種函數(shù)都有詳細(xì)的原型、功能描述和示例代碼,需要的朋友可以參考下
    2024-11-11
  • C語(yǔ)言實(shí)現(xiàn)用戶態(tài)線程庫(kù)案例

    C語(yǔ)言實(shí)現(xiàn)用戶態(tài)線程庫(kù)案例

    下面小編就為大家?guī)?lái)一篇C語(yǔ)言實(shí)現(xiàn)用戶態(tài)線程庫(kù)案例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • C語(yǔ)言函數(shù)棧幀解析

    C語(yǔ)言函數(shù)棧幀解析

    下面小編就為大家?guī)?lái)一篇淺談C語(yǔ)言函數(shù)調(diào)用參數(shù)壓棧的相關(guān)問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-09-09
  • C++淺析內(nèi)存分區(qū)模型概念與示例

    C++淺析內(nèi)存分區(qū)模型概念與示例

    在了解內(nèi)存分區(qū)之前,我們先來(lái)聊一聊為什么要進(jìn)行內(nèi)存分區(qū)。在進(jìn)行了內(nèi)存分區(qū)之后,在不同的區(qū)域存放的數(shù)據(jù),會(huì)有不同的生命周期,從而會(huì)讓程序員的編程變得更加靈活
    2022-09-09
  • C++中sprintf使用的方法與printf的區(qū)別分析

    C++中sprintf使用的方法與printf的區(qū)別分析

    這篇文章主要介紹了C++中sprintf使用的方法與printf的區(qū)別,實(shí)例分析了sprintf與printf的具體用法及相關(guān)注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • C++的try塊與異常處理及調(diào)試技術(shù)實(shí)例解析

    C++的try塊與異常處理及調(diào)試技術(shù)實(shí)例解析

    這篇文章主要介紹了C++的try塊與異常處理及調(diào)試技術(shù)實(shí)例解析,有助于讀者加深對(duì)try塊調(diào)試技術(shù)的認(rèn)識(shí),需要的朋友可以參考下
    2014-07-07
  • C語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的掃雷游戲

    C語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的掃雷游戲

    掃雷是電腦上很經(jīng)典的游戲,特意去網(wǎng)上玩了一會(huì),幾次調(diào)試之后,發(fā)現(xiàn)這個(gè)比三子棋要復(fù)雜一些,尤其是空白展開(kāi)算法上和堵截玩家有的一拼,與實(shí)際游戲差別較大,不能使用光標(biāo),下面來(lái)詳解每一步分析
    2021-10-10
  • C語(yǔ)言詳解分析進(jìn)程控制中進(jìn)程終止的實(shí)現(xiàn)

    C語(yǔ)言詳解分析進(jìn)程控制中進(jìn)程終止的實(shí)現(xiàn)

    當(dāng)進(jìn)程完成執(zhí)行最后語(yǔ)句并且通過(guò)系統(tǒng)調(diào)用 exit() 請(qǐng)求操作系統(tǒng)刪除自身時(shí),進(jìn)程終止。這時(shí),進(jìn)程可以返回狀態(tài)值(通常為整數(shù))到父進(jìn)程(通過(guò)系統(tǒng)調(diào)用 wait())。所有進(jìn)程資源,如物理和虛擬內(nèi)存、打開(kāi)文件和 I/O 緩沖區(qū)等,會(huì)由操作系統(tǒng)釋放
    2022-08-08

最新評(píng)論