iphone學習筆記(四)

來源:互聯網
上載者:User
文章目錄
  • 修飾符:long,long long,short,unsigned,and signed
資料類型和運算式

在這一節中我們將介紹一些objective-c中的基礎資料型別 (Elementary Data Type),和運算式的規則。

你可能會想到int類型,它是objective-c中的用來存放數位基礎資料型別 (Elementary Data Type),只能用來存放整形數值。

objective-c提供了其他三種基本的資料類型:浮點型(float),雙精確度(double),字元型(char)。同其他語言類似,浮點型用來存放帶小數位的數值,double型與float類似只是精確度更高。字元型(char)用來存放單個字元如: a 、  A 、  6、 等等。

在objective-c中,數字,單個字元,或者字串都被稱作a constant(常量)。如:數字 58代表 常量數值。字串“Programming in Objective-c is fun.\n”是一個字串的常量例子。所以這種由常量組成的運算式叫做常量運算式如:128+7-17

但是如果在這裡定義了一個int型的變數i,這個運算式就不是常量運算式了:128+7-i

下面以例子做講解:

int main(int argc,char *argv[]){    NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init]    int integerVar=100;    float floatingVar=331.79;    double doubleVar=8.44e+11;    char charVar='W';    NSLog(@"integerVar=%i",integerVar);    NSLog(@"floatingVar=%f",floatingVar);    NSLog(@"doubleVar=%e",doubleVar);    NSLog(@"doubleVar=%g",doubleVar);    NSLog(@"charVar=%c",charVar);   [pool drain];   return 0;}

輸出結果為

看輸出結果的第二行,注意331.79變成了331.79009關於這個問題。我又受教了一次,原文中寫的比較含糊,只是簡單的說了下浮點型大多都是近似值,並不能精確的表示數字,還以計算機中1除以3的結果為例子。在數學中1除以3的結果應該是0.3333333……後面無數個3,而由於電腦是有精度限制的因此只能取近似值。講的比較詳細的參見這篇博文深入淺出浮點數。

不過我基礎知識太差還是不明白為什麼得出的結果是331.790009   保留6為位小數,且最後一位總是9   。希望路過的高手不吝賜教。先謝謝了。

修飾符:long,long long,short,unsigned,and signed

如果long修飾符被加在一個int類型的變數前面,說明這個變數在電腦中的記憶體範圍增大了。舉個例子如: long int factorial;

在這裡定義了一個長整形的變數。對於float和doubles型的資料,他們的精確度取決於你的電腦系統。在多數系統中,一個整形(int)與一個長整形(long int)擁有相同的精度範圍,最多可以儲存32bits(位)。

一個常量的長整形表示方法為在數字後面緊接著加上一個字母(L)如: 13107100 的長整形標記法為 long int numberofPoints=13107100L

long long 整形的可以這樣表示,long long int maxAlloweStorage

long修飾符同樣被允許加在double型的前面,比如:long double US_deficit_2004

 待續。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.