1樓:
>>的優先順序比|高,~的優先順序也比|高,所以k=~i|j>>3;實為k=(~i)|專(j>>3);。屬i=013==00000000 00001011(0打頭的是八進位制),所以~i==11111111 11110100;j=0x13==00000000 00010011,j>>3==00000000 00010011>>3==00000000 00000010;~i|j>>3==11111111 11110100|00000000 00000010==11111111 11110110==0xfff6==0177766(8)。所以d正確,選d。
c語言中的位運算有什麼優點?
2樓:匿名使用者
很多高階的動態規劃題目或者一些基礎的運算往往需要較高的執行效率和較低的空間需求,或者需要表示一些狀態集合,而位運算剛好能滿足這一切。很多的時候,恰當的位運算使用也能使程式變得更加簡潔和優美。
c語言問題,位運算,二進位制 5
3樓:聽不清啊
int bit_set(int *arg, int bit)ii) int bit_clear(int *arg, int bit)
iii) int bit_invert(int *arg, int bit)
三個函式的返回值為0,表示bit超範圍,操作失敗。
返回1表示操作成功。
4樓:青澎納翠桃
第一copy個結果的確是1111,但用%d輸出就是輸出他的十進位制數,所以輸出的是15
第二個就不是1111了,而是32個1(假設int點32位),因為向右移時,第一位(即符號位)是1,所以前面補的是1而不是0,所以是32個1,然後用%d輸出其十進位制數當然就是-1了
你可以改一下,看一下他的十六進位制數就知道了,輸出的時候用這個格式,printf("%x\n",c);
C語言問題 位運算,C語言中的位運算有什麼優點?
char型別是以ascii碼儲存的,內部形式等同於一個unsigned 8位的整數。後面的移位操作只保留了第n位的值。由於 0 9 在ascii碼裡是連續的,把要輸出的一位數值加上 0 其實就得到了該數的字元表示。以行為單位把字串中所有字元的ascii值左移4位,如果左移後,其字元的ascii值小於...
c語言中卻運算子如何使用,C語言中取反運算子如何使用
c語言經典例子之按位取反運算子 運算子 是邏輯非運算子 才是按位取反運算子。經過 運算後,回運算結果只答 有0或1 而經過 運算後,結果有多種,取決於運算元。下面通過例項來介紹這個運算子的使用方法 int a 10,b,c b a 運算後b 0,因為a不等於0 即為真 所以取非後等於0 為假 c a...
c語言條件表示式問題,C語言中條件運算子是什麼意思
a 當exp值為1時,exp為0,exp 0的值為1.當exp值為0時,exp為1,exp 0的值為0。b 當exp值為1時,exp!0的值為1.當exp值為0時,exp!0的值為0。c 當exp值為1時,exp 1的值為1.當exp值為0時,exp 1的值為0。d 當exp值為1時,exp!1的值...