C語言中P2=~(1左移i)是什麼意思?
<<是按位左移運算,~是按位取反運算,=是賦值運算。
P2=~(1<<i)的意思是把1換成二進位制數,然後左移i位,再按位取非,將結果賦給P2,等價於P2=(~(1<<i))。
比如i為3。那麼P2= ~(1<<i) = ~(1<<3) 。
先按1個位元組來看,1的二進位制為00000001,左移3位得到00001000。取反得到11110111,即十六進位制的F7。
如果整數為4個位元組,那麼P2= ~(1<<3) = 0xFFFFFFF7。
另外
3左移i位然後取反
例子:
i = 3; 1的二進位制表示為 0000 0001
1<<i :0000 1000
~(1<<i) :1111 0111
相關推薦
C語言中P2=~(1左移i)是什麼意思?
<<是按位左移運算,~是按位取反運算,=是賦值運算。 P2=~(1<<i)的意思是把1換成二進位制數,然後左移i位,再按位取非,將結果賦給P2,等價於P2=(~(1<<i))。 比如i為3。那麼P2= ~(1<<i) = ~(1<<3) 。
c語言1左移i 什麼意思
c語言1<<i 什麼意思 5 我來答 分享 舉報瀏覽 4917 次 3個回答 #網路熱詞科普# D&G是什麼意思? 最佳答案 天雲一號 推薦於2017-09-09 C語言中1<<i表示將1的
b% C語言中u% x%都是什麼意思
則printf("i=%u %u 如輸入:12.23 輸出:12345%f是以浮點數輸出 如輸入12345 輸出15%ld是以長整型輸出 如輸入015 輸出15%0是以八進位制輸出 如輸入15 如123AFB)%d以
C語言中的I/O函數scanf、getchar、printf和putchar說明
重要 col ace 驗證 enter inpu 個數 是否 交互 scanf()、printf()、getchar()和putchar()這四個函數能夠讓用戶和程序交流,所以被稱為輸入/輸出函數,或簡稱為I/O函數。 這裏先結合緩沖輸入來講講scanf()和getchar
c語言中,while(1)語句使用break語句跳出迴圈
這個要分情況的:1:本身條件就有出口,這樣的話,可以自然退出,也可以認為退出2:如果本身條件永遠不可能滿足,例如:while(1)像這種的話想要退出的話就必須人為干涉,例如int num = 0;while(1){ num++; if(num >1000
C語言中exit(0)與exit(1)有什麼區別
今天天氣有點冷,當我在寫訊息佇列的程式的時候,遇到了結束程序的這個問題,突然腦海裡有點混亂,我是用_exit(),還是用exit(1),還是用exit(0)呢,然後自己度娘了一下,整理了一下稍微做
C語言中i++和++i的區別
C語言中i++和++i的區別 C語言中++i和i++是有區別的!快速理解的話就是用一句話概括: 1、i++是先賦值再運算+1; 2、++i是先運算+1再賦值; i++和++i都是c語言裡的自增,但是它們自增的順序不同。++i表示,i自增1後再參與其它運算,而i++ 則是i參與運算後,i的
編寫個從1加到100的程式 誰能用c語言中的for語句
程式執行結果如下: ||| #include<stdio.h>main() { int i i=1while(i<=100){s=s+i;i++;}printf("sum=%d/n" s);}方
微控制器C語言中while(1)的問題
微控制器C語言的主程式,通常要用一個while(1)語句來讓程式進入一個無限迴圈,目的是為了讓程式一直保持在我們需要執行的情況下。 雖然這種做法毋庸置疑,在網上還是有不少朋友有疑問,如果程式不加while(1)會出現什麼情況,對於這種好學精神,還是值得讚揚的,做學問就需要有追根問底的精神。 首先,大家要理
C語言中#if 0,#if 1,#else,#endif的作用
在C語言中時常會用到#if 0,#if 1,#else,#endif語句,語句如下所示: #if 0 code1 #else code2 #endif 此時code1的語句被註釋掉了,永遠沒有辦法執行,而code2是被編譯的;如果將#if 0變為#if 1,
C語言中exit(0)、exit(1)、exit(2)有什麼不同?
exit好象在stdio.h裡面,所以要有包含標頭檔案 return是返回函式呼叫,如果返回的是main函式,則為退出程式 exit是在呼叫處強行退出程式,執行一次程式就結束 ----------------------------------------------
C語言中switch...case語句中break的重要性
不能 實現 比例 重要性 case語句 毫無 ... 應該 switch 在C語言中switch...case語句是經常用到的,下面我介紹一下在使用該語句時候需要註意的一個細節問題。話不多說,直接舉例子: 例子1: switch(fruit) { case 1:printf
c語言中char* 代表什麽
c 字符數組 1 c語言中,char* 代表 字符指針類型,當其指向一個字符串的第一個元素時,它就可以代表這個字符串了2 示例#include<stdio.h>int main(){ char* str = "learn c"; printf("%s\n", str);
C語言中“段錯誤”出現的場景
oca auth pan clas log ted start 符號 cnblogs 1 /************************************************************************* 2 > Fil
c語言中continue的運用,同時學習接收字符,打印字符,遍歷字符
putc pre 讀取 ext cnblogs enter pri void blog 1 /************************************************************************* 2 > Fi
c語言中fflush的運用為什麽沒有效果呢,測試平臺linux
*** file 語言 stdlib.h clu author 年齡 blog name 1 /************************************************************************* 2 > F
C語言中,隱藏結構體的細節
all printf span 包括 strcpy () 創建 提高 結構體指針 我們都知道,在C語言中,結構體中的字段都是可以訪問的。或者說,在C++ 中,類和結構體的主要區別就是類中成員變量默認為private,而結構體中默認為public。結構體的這一個特性,導致結構
C語言中的union使用方法
位置 http term 位域 dem 結構體 數據結構 pri 使用 union共用聲明和共用一變量定義: “聯合”是一種特殊的類。也是一種構造類型的數據結構。在一個“聯合”內能夠定義多種不同的數據類型。 一個被說明為該“聯合”類型的變量中,同意裝入該“
C語言中的typedef
中文 講解 tro table 現在 int 一個 cor 位置 typedef 的講解與應用實例 前言:我們學過C語言的人都應該聽過,或者說學過,甚至說用過typedef,多多少少都對其有所了解。不過就算沒聽過也沒關系,我們一起來探討一下。 闡述:typedef
C語言中的main函數以及main函數是如何被調用的
連接 命令 c程序 指定 www blog nbsp 程序 編譯器 main函數是C語言中比較特殊的函數,C程序總是從main函數開始執行,main函數的原型是: 1 int main(int argc, char *argv[]); 其中argc是命令行參數的個數,a