1樓:
-9/7 是-1.幾,舍位後不是鐵定是-1嗎?----不是的,不能通過舍位來判定,不同的機器結果不同,可能是-1,也可能是-2;
什麼叫向上取整(向下取整)?--向上取整指當計算的結果不為整數時取大於計算結果的整數,向下取整指當計算的結果不為整數時取小於計算結果的整數。當計算結果為整數時直接取整數。
計算結果處於兩個整型數之間,例如說-1和-2之間,向上取整就是-1,向下取整就是-2;
-9%7也同樣是這兩個問題--一個運算元為負數的模運算的情況跟除不一樣(/運算的兩個運算元有一個為負時,其結果一定為負數),求模操作結果值的符號可依據分子(被除數)或分母(除數)的符號而定,如果求模的結果隨分子的符號,則除出來的值向零一側取整;如果求模與分母的符號匹配,則除出來的值向負無窮一側取整。
2樓:匿名使用者
向上取整的結果是大於等於這個數的最小的整數,例如-1.02向上取整是-1
向下取整的結果是小於等於這個數的最大的整數,例如-1.02向下取整是-2
不要以為取整隻有「四捨五入」這一種辦法
ansi c對負數的整除確實允許兩種情況,不過後來的標準把這個規定清楚了
3樓:留戀√凡塵
不會 取決於機器 不同的機器會產生不同的結果
c語言 運算子%是怎麼運算的
4樓:噠噠噠噠蝸牛啊
c語言中%的作用:%作為運算子是用來取餘的
運算子(operator)是可以對資料進行相應操作的符號。如對資料求和操作,用加法運算子 '+',求積操作使用乘法運算子 '*' ,求餘數用運算子'%'。等等
例如 :
一、25%4=1 ;25除以4商6餘數是1
二、33%5=3 ;33除以5商6餘數是3
擴充套件資料:
c語言常用的運算子
1. 算術運算子
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。
2.關係運算子
用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3.邏輯運算子
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4.位操作運算子
參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
5.賦值運算子
用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
6.條件運算子
這是一個三目運算子,用於條件求值(?:)。
7.逗號運算子
用於把若干表示式組合成一個表示式(,)。
8.指標運算子
用於取內容(*)和取地址(&)二種運算。
9.求位元組數運算子
用於計算資料型別所佔的位元組數(sizeof)。
10.特殊運算子
有括號(),下標,成員(→,.)等幾種。
5樓:唐寒夜
1、%是求餘運算子,也叫模除運算子,用於求餘數。
2、%要求兩個運算元均為整數(或可以隱式轉換成整數的型別),%是求餘數的運算,例如7%2=1。
3、舉例:
#include
void main()
執行結果如下圖:
4、%是運算子的一種其他運算子:
(1)算術運算子:* - + / %
(2)關係運算子: > < == != >= <=(3)邏輯運算子:! && ||
(4)位運算子:<< >> ~ | ^ &1、%d整型輸出,%ld長整型輸出,
2、%o以八進位制數形式輸出整數,
3、%x以十六進位制數形式輸出整數,或輸出字串的地址。
4、%u以十進位制數輸出unsigned型資料(無符號數)。注意:%d與%u有無符號的數值範圍,也就是極限的值,不然數值列印出來會有誤。
5、%c用來輸出一個字元,
6、%s用來輸出一個字串,
7、%f用來輸出實數,以小數形式輸出,預設情況下保留小數點6位。
8、%.100f來輸出實數,保留小數點100位。
9、%e以指數形式輸出實數,
10、%g根據大小自動選f格式或e格式,且不輸出無意義的零。
6樓:候鳥飛
%是除法取餘運算。適用於整數與整數運算。否則,不同的編譯器會得不同結果。
'%'為取餘運算子,用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。
作為雙目運算子,左右運算元可以是數值,也可以是表示式,但是左右兩邊的運算元必須是整數。
擴充套件資料:c語言的運算子:
1.算術運算子:* - + / %
2.關係運算子: > < == != >= <=3.邏輯運算子:! && ||
4.位運算子:<< >> ~ | ^ &
5.賦值運算子:=及擴充套件賦值運算子
6.條件運算子:?:
7.逗號運算子:,
8.指標運算子:*和&
9.求位元組數運算子:sizeof
10.強制型別轉換運算子:(型別)
11.分量運算子:. ->
12.下標運算子:[ ]
13.其他:如函式呼叫運算子:()
7樓:蕉蕉
%是除法
取餘運算,用於整數與整數運算。否則,不同的編譯器會得不同結果。兩邊的運算量必須為整型,且%後面的運算量不能為0。
'%'為取餘運算子,用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。如表中所示的"13%7",就表示13 除以7餘6。
c語言運算子%的操作例項:
輸入#include
main()
輸出結果為:
line 1 - c 的值是 31
line 2 - c 的值是 11
line 3 - c 的值是 210
line 4 - c 的值是 2
line 5 - c 的值是 1
line 6 - c 的值是 21
line 7 - c 的值是 22
8樓:匿名使用者
取餘數啊
5%2=1
因為5=2*2+1
9樓:匿名使用者
如a%b
先int a,b;
float d,c;
d=a/b;
c=float(a)/b;
cout<<(c-d);即可
10樓:gta小雞
y>0成立,得1,x==1不成立,得0
3-1>=x+1不成立,得0;0<=y+2成立,得15>2成立,得1;1>7不成立,得0;0>8不成立,得0輸出0,1,0
c語言運算子中問號是什麼意思
11樓:天雲一號
c語言運算子中問號是條件運算子(與冒號組合)。該運算子是c語言中唯一一個三目運算子。
可以通過如下的例項來說明條件運算子的用法:
int a=1, b=3;
int max;
max = a>b ? a : b; // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者
12樓:匿名使用者
z=x=y結果z就是y的值
跟下面的if語句等價
if(x>y)z=x;
else z=y;
13樓:匿名使用者
呃,俺學藝不精,不知道你說的是哪個,是不是(?:)呢?
?:是三目運算子
如:a?b:c;
等價於:
if(a) b;
else c;
c語言運算子中的>>是什麼意思?有啥功能?謝謝。
14樓:蘇嘉愛娛樂
>>是右移運算子,移位運算子的一種:程式設計中,位操作運算子的一種。
c語言中位移位運算子是將資料看成二進位制數,對其進行向左或向右移動若干位的運算。位移位運算子分為左移和右移兩種,均為雙目運算子。第一運算物件是移位物件,第二個運算物件是所移的二進位制位數。
位移位運算子的運算物件、運算規則與結果、結合性如表2-16所示。
移位時,移出的位數全部丟棄,移出的空位補入的數與左移還是右移有關。如果是左移,則規定補入的數全部是0;如果是右移,還與被移位的資料是否帶符號有關。若是不帶符號數,則補入的數全部為0;若是帶符號數,則補入的數全部等於原數的最左端位上的原數(即原符號位)。
擴充套件資料
優先順序:
語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。
這種自左至右的結合 方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算子是賦值運算子。
如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
15樓:佼丹厙琬
c語言運算子中問號是條件運算子(與冒號組合)。該運算子是c語言中唯一一個三目運算子。
可以通過如下的例項來說明條件運算子的用法:
int a=1, b=3;
int max;
max = a>b ? a : b; // 如果a>b,則max的值為a,否則max的值為b,也即取a與b中的較大者
16樓:
右移運算子「>>」是雙目運算子。其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。
例如:設 a=15,
a>>2
表示把000001111右移為00000011(十進位制3)。
應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定。turbo c和很多系統規定為補1。
17樓:匿名使用者
就是移位指令》明顯向右移
據個例子:
15>>4就是0000 1111向右移動四位前邊補零為0000 0000
如果是有符號數即最高位是1前補1例如8f>>4即為1000 1111右移4位是1111 1000
18樓:匿名使用者
>>是右移位運算
比如 a=0x10>>1就是把0x10的2進位制編碼向右移動1位.
1000 0000 移動後變為0100 0000
關於c語言?:運算子的用法
19樓:
a?b:c這個是條件表示式,也稱三目運算子,表示如果a為真,則表示式值為b,如果a為假,則表示式值為c。
條件表示式語法舉例說明如下:
if(a>b) ; else ;
可用條件表示式寫為
max=(a>b)?a:b;
執行該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。
擴充套件資料使用條件表示式的注意點:
1、條件運算子的運算優先順序低於關係運算子和算術運算子,但高於賦值符。
因此 max=(a>b)?a:b
可以去掉括號而寫為 max=a>b?a:b2、條件運算子?和:是一對運算子,不能分開單獨使用。
3、條件運算子的結合方向是自右至左。
例如: a>b?a:c>d?c:d 應理解為 a>b?a:(c>d?c:d)
C語言運算子是怎麼運算的,C語言運算子
是除法取餘運算。用於整數與整 數運算。否則,不同的編譯器會得不同結內果。為取餘運算子,容用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。如 13 7 就表示13 除以7餘6。作為雙目運算子,左右運算元可以是數值,...
c語言運算子是怎麼運算的C語言運算子是怎麼運算的
c語言中 的作用 作為運算子是用來取餘的 運算子 operator 是可以對資料進行相應操作的符號。如對資料求和操作,用加法運算子 求積操作使用乘法運算子 求餘數用運算子 等等 例如 一 25 4 1 25除以4商6餘數是1 二 33 5 3 33除以5商6餘數是3 擴充套件資料 c語言常用的運算子...
C語言運算子問題
在嵌入式環境下,因為記憶體,執行速度等和pc機相比,是有所限制的,所以為了節省空間,提升速度等原因,會使用位操作。至於使用,dwjchdu 已經回答了,可以參照。在程式中節省空間使用方法如下例 define last bit on 0x1 define next bit on 0x2if x las...