資料型別和運算子 運算子

2021-07-09 03:34:06 字數 1958 閱讀 6768

objective-c 支援所有的基本算術運算子

/:除法運算子。除法運算子有些特殊,如果除法運算子的兩個運算元都是整數型別,則計算結果也是整數,就是將自然

數除法的結果斷取整。

%:求餘運算子。它要求運算子兩邊的運算元必須是整數,他的計算結果是使用第乙個運算元來除以第二個運算元,得到

乙個整除的結果後,剩下的值就是餘數++

:自加運算子。這是乙個單目運算子,運算子既可以出現在運算元的左邊,也可以出現在運算元的右邊。如果把++

放在運算元的左邊,則先把運算元加1,然後才把運算元放入表示式中參與算;反之則先把運算元參與運算,然後再把運算元加1。--

:自減運算子。也是乙個單目運算子,效果與++

基本類似,只是將運算元的值減1。

注:自加和自減只能用於運算元值型變數(包括整型和浮點型),不能用於運算元值型直接量、常量或表示式。

objective-c並沒有提供其他更複雜的運算子,如需要完成乘方、開方等運算,可借助ansic標準庫中

例:

double a = 3.2;

//求a的5次方,並將計算結果賦值給b

double b = pow(a , 5);

//求a的平方根,並將計算結果賦值給c

double c = sqrt(a);

//計算隨機數,返回0~10之間的乙個偽隨機數

double d = arc4random() % 10;

//求1.57的sin函式值:1.57被當成弧度數

double e = sin(1.57);

1、&:按位與。

2、|:按位或。

3、~:按位非。

4、^:按位異或。

5、<<:左位移運算子。

6、>>:右位移運算子。

第乙個運算元

第二個運算元

按位與按位或

按位異或00

0000

1011

1001

1111

10

注:

所有的數字在計算機底層都是以二進位制形式存在的,原始碼是直接將乙個數值換算成二進位制數。但計算機以補碼形式儲存

所有的整數。補碼的計算原則是:正數的補碼和原碼完全相同負數的補碼是其反碼加1;反碼是對原碼按位去反,只是最高位

(符號位)保持不變。

當進行位移運算時,左移n位就相當於乘以2的n次方,右移則是除以2的n次方(如果不能整除,實際返回的結果為小於除

法結果的最大整數)。不僅如此,進行位移運算只是得到了乙個新的運算結果,而原來的運算元本身是不會改變的。

+=: 對於x+=y,即對應於x=x+y。

-=: 對於x-=y,即對應於x=x-y。

*=: 對於x*=y,即對應於x=x*y。

/=: 對於x/=y,即對應於x=x/y。

%=: 對於x%=y,即對應於x=x%y。

&=: 對於x&=y,即對應於x=x&y。

|=: 對於x|=y,即對應於x=x|y。

^=: 對於x^=y,即對應於x=x^y。

<<=: 對於x<<=y,即對應於x=x<>=: 對於x>>=y,即對應於x=x>>y。

&&(與):必須兩個運算元都為真才返回真;否則返回假。

||(或):只要兩個運算元中又乙個為真,就可以返回真;否則返回假

!(非):只需要乙個運算元,如果運算元為真,則返回假;如果運算元為假,則返回真。

^(異或):當兩個運算元不同時才返回真,如果兩個運算元相同,則返回假。

大部分時候三目運算子都作為if else的精簡寫法

例:

expression ?

if-true

-statement : if

-false

-statement;

資料型別和運算子

public static void main string args elsewhile test expression 5 for迴圈 for init statement test expression iteration statement 6 使用break結束迴圈 例如 for int ...

資料型別和運算子

資料型別和運算子 型別名稱 說明 儲存需求 tinyint 很小的整數 1個位元組 smallint 小的整數 2個位元組 mediumint 中等大小的整數 3個位元組 int 普通大小的整數 4個位元組 bigint 大整數 8個位元組 float 單精度浮點 4個位元組 double 雙精度浮...

資料型別和運算子

資料型別 mysql支援多種型別,大致可以分為三類 數值 日期 時間和字串 字元 型別。數值型別 浮點型別和定點型別都可以用 m,n 來表示,其中m稱為精度,表示總共的位數 n稱為標度,表示小數的位數。float和double在不指定精度時,預設按照實際的精度 由計算機硬體和作業系統決定 decim...