C語言中int mid l r 》1是什麼意思

2021-03-10 22:02:49 字數 5070 閱讀 3983

1樓:南方小智

是位元復操作,可以看做是除2,如制

12的二進

製表示是00001100,12>>1將00001100右移一位,變為00000110,即6.

又如15的二進位制表示是00001111,15>>1將00001111右移一位,變為00000111,即7.

另外《就是左移,相當於乘以2.

希望對你有幫助!

2樓:匿名使用者

l+r的值右移1位,相當來l+r的值源除以2取整。

int是將一個數值向bai下取整為最接近的du整數的函式zhi。int是數dao據庫中常用函式中的取整函式,常用來判別一個數能否被另一個數整除。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

3樓:南方小智

是位元操作,可以看做是除2,如

12的二進位制表示是00001100,12>>1將00001100右移一位,專變為00000110,即6.

又如15的二進屬製表示是00001111,15>>1將00001111右移一位,變為00000111,即7.

另外《就是左移,相當於乘以2.

希望對你有幫助!

c語言中int mid=(l+r)>>1是什麼意思?

4樓:匿名使用者

l+r的值右移1位,相當l+r的值除以2取整。

int是將一個數值

向下取整為最接近的整數的函式。int是資料庫中常用函式中的取整函式,常用來判別一個數能否被另一個數整除。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

5樓:寧雪容洋馳

是位元操作,可以看做是除2,如

12的二進位制表示是00001100,12>>1將00001100右移一位,變為00000110,即6.

又如15的二進位制表示是00001111,15>>1將00001111右移一位,變為00000111,即7.

另外《就是左移,相當於乘以2.

希望對你有幫助!

c語言中下面這句話是什麼意思?那個>>符號看不懂…… int mid=(l+r)>>1;

6樓:南方小智

是位元操作,可以看做是除2,如

12的二進位制

表示是00001100,12>>1將00001100右移一位,變為00000110,即6.

又如15的二進位制表示是00001111,15>>1將00001111右移一位,變為00000111,即7.

另外《就是左移,相當於乘以2.

希望對你有幫助!

7樓:匿名使用者

位移操作符,l+r的和向右位移一位

例如l+r=2

二進位制位

00000010

右移一位

00000001

十進位制為1

8樓:我愛涮涮鍋

這是位操作符,即將l+r的結果右移一位就是mid的值,《是左移

c語言 語句「 int mid = (x+y)>>1;」是什麼意思?

9樓:匿名使用者

x+y的值右移1位,相當於x+y的值除以2取整。

10樓:匿名使用者

>>是移位運算子 >>1 就是向右移1位 相當於把(x+y)的值除以2

你可以理解為

int mid = (x+y)/2

c語言 中的 >> 是什麼意思 int r=8; printf("%d/n",r>>1);

11樓:匿名使用者

「>>」是c語言中的位操作符,在譚浩強的《c程式設計》中第12章講位運算的裡面有講到有關位操作的知識。「r>>1「 按位向右移動1位,8的二進位制碼:00001000右移後:

00000100,記住是每一位都右移,如:a=163,二進位制:10100011,a>>2後:

00101000,移位後超出的自動去掉。另外還有「<<"左移位,"&"按位與,"|"按位或,"^"按位異或,"~"按位取反等操作符,這些操作符主要是在某些需要對二進位制位進行操作的地方用到,很方便,比如某些時候你希望用一個二進位制位表示一個狀態或者其它什麼資訊時,把這些資訊用一個位儲存起來(每個位代表一個資訊,節省空間,傳輸也方便,在上位機與下位機通訊時經常會用一個位元組的位來儲存資訊),而這個時候的某些操作就需要進行位運算,它會給你的程式帶來很多方便。

你可以看看書,譚浩強那本是不錯的c入門書籍,剛看位操作時可能不太好明白,因為不知道它能幹嘛,平時寫程式也很少用到,我學這個的時候就是這樣,幾乎是隨便看看就沒管它了,後來到工作中偶然一個機會用到了它,那時才對這個位操作有了一點認識,所以程式設計的事還要多實踐、多練習,在實踐中體會、理解。

12樓:匿名使用者

樓主你好,>>運算子相當於向右移位,r>>1則相當於把a的值向右移1位,在高位前面補0,比如a是整數5的話,那麼它的二進位制計數為0000 1000,這時計算r>>1的結果為0000 0100,那麼結果就是2了,其實移位運算也是相當於每次除2,而《運算子相當於向左移位,如果向左移2位的話,在低位補0,就變成0010 0000,那麼結果就是32,這也相當於每次移位乘2。

希望對樓主有所幫助!

13樓:匿名使用者

>> 是右移的意思,r>>1表示把r向右移動一位,其效果相當於把r除以2,

所以這個程式的輸出就是4

14樓:石月升

右移, 8,換成二進位制是b = 00001000,右移裡1位是00000100,十進位制是4。右移一位相當於除以2。

15樓:小飛花兒的憂傷

右移你得先了解數在計算機中的表示,然後知道他們是怎麼運算的

16樓:星煩了

>>在c中是遠遠大於的意思! r>>1, 的意思是r遠遠大於1

17樓:匿名使用者

那是位運算,>>表示右移位運算,其實簡單的說就是除以2.

c語言程式中x>>=1是什麼意思??

18樓:四舍**入

>>=:這是複合運算子

「>>」是雙目移位運算子,其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。

例如:設 a=15(這是十進位制,要把它轉換為2進位制數),a>>2表示把000001111右移為00000011(十進位制3)。

19樓:餘啊水中游啊遊

>>=:這是複合運算子

右移運算右移運算子

「>>」是雙目運算子。其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。例如:

設 a=15(這是十進位制,要把它轉換為2進位制數),a>>2 表示把000001111右移為00000011(十進位制3)。應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定。

例如:#include "stdio.h"

void main()

//結果為:x=0x88888888

//然而

#include "stdio.h"

void main()

//以下結果為:x=0x44444444

先把x向右移一位再賦值給x,所以x的值有變化,第一種情況沒有變化

20樓:粘潔茹凰

"!"是取非得意思。

兩個基本概念

1、在c語言中一般認為「0」是假,其他不是「0」的都是真。

2、if()裡面為真,則進入if下的大括弧{},為假,就跳過。

以此題為例:

若x是「0」(為假)。則「!x」就不是零(為真)。則裡面為真,進入if下的大{}。

若x不是「0」(為真)。則「!x」就是零(為假)。則裡面為假,跳過if下的大{}。

21樓:聽不清啊

c語言程式中x>>=1,如果作用於整數x,就是把x右移一位,把x的二進位制值的最後一位丟棄,最高位補0。

實際就是把x的值除以2。在運算結果上等價於x=x/2。

22樓:安徽新華電腦

>>是右移運算子,就是將n的二進位制表示向右移位。你這裡的n>>=1表示將n的二進位制表示向右移動一位再賦值給n.這裡的》=與+=,-=,*=的用法是一樣的,先做運算再賦值

23樓:匿名使用者

x>>=1:是將x 以二進位制形式表示,讓各位向右移動1 位,左補0(邏輯右移1 位,相當於除 2 處理), 然後將結果仍存入x 中。

注:你的c 編譯系統若預設為是算術位移,則是各位向右移動1 位,左補1. 用時要考查一下噢。

24樓:nohow絕不

這是移位運算的意思。

是位操作運算的一種。移位運算子有雙目移位運算子:<<(左移)和》(右移)。

移位運算子組成的表示式也屬於算術表示式,其值為算術值。左移運算是將一個二進位制位的運算元按指定移動的位數向左移位,移出位被丟棄,右邊的空位一律補0。右移運算是將一個二進位制位的運算元按指定移動的位數向右移動,移出位被丟棄,左邊移出的空位或者一律補0,或者補符號位,這由不同的機器而定。

在使用補碼作為機器數的機器中,正數的符號位為0,負數的符號位為1。

25樓:匿名使用者

表示x=x>>1,右移一位,關於怎麼移,可參考樓上的解釋

請問C語言中,1,請問C語言中,

是求餘數的意思,a b也就是a除以b餘幾 1 2 0餘1,那1 2 1 這裡 是取餘數的意思 1除以2 餘數就是1咯 計算步驟的話。cpu有直接的整數除法指令,商和餘數分別放在不同的暫存器裡。這些都交給編譯器了,我們不用理了 取模運算。也就是1除2的餘數?結果 1 除數是2的時候很特殊.a 2 等同...

c語言中s i 1s,c語言中s i s i 1 s i 1 0 是什麼意思?

這是兩個條件 bai 第i 如果i從du1開始 個非空格字元 後跟一zhi個空格。或者dao第i 1個字元是字內符串結束標記。這條 容的意思是這兩個條件之一成立即可。知識延展 邏輯與,前後條件同時滿足表示式為真。邏輯或,前後條件只要有一個滿足表示式為真。按位與。按位或。區別 和 是邏輯運算,與 是位...

c語言中a121a是什麼意思,C語言中a 12 x1A 是什麼意思

a 12 x1a 表示將轉義字元 x1a賦值給陣列a的第13個元素。在c語言中,以反斜槓開頭,後跟一個字元或一個數字序列來表示一個字元量,稱為轉義字元。主要有以下三種形式 1 反斜槓後跟特定字元,如 n 2 反斜槓後跟1 3位8進位制數,如 101 3 反斜槓後跟1 2位16進位制數 要以x開頭 如...