如果你手頭上有乙個整數,卻要把它當成浮點數來使用,該怎麼辦呢?這時你可以使用「型別轉換」,也就是把資料從原來的型別變成你所要使用的型別。
processing、arduino和c++的型別轉換都是一樣的,如下:
int i = 5;
float f = (float)i; // float變成了浮點值5.0
為什麼不可以像這樣:
float f = i;
把i的值直接賦給f呢?把資料分為各種型別,就是為了阻止不同型別資料之間的直接賦值。知道了資料的型別,就可以確定它所需要的儲存空間和用法。以上最後一行**引起的錯誤可以通過資料型別轉換解決。變數一旦定義,其型別就無法改變。在這個例子裡,i永遠是整型,若你希望把它作為浮點數使用,就要做型別轉換,這並不複雜。接下來的例子裡會用到字元型,因為字元型實在是太基本的資料型別了。例如,如果你要把乙個字元型變數轉為浮點型,再轉為字元型,可以採用以下的做法:
char ch = 'f';
int fasint = (int)ch;// fasint的值是102
char newchar = char(fasint); // newchar的是字元 'f'
需要注意,不能對陣列進行型別轉換:
char foo = ;
int(foo); // 錯誤
如果想對陣列進行任何型別方面的轉換,就要對它的元素進行操作。在2.4節有關迴圈的內容中我們會解決這個問題。現在我們看這兩行**:
char foo = ;
int i = int(foo[0]);
以上**建立了乙個字元陣列,並且把其中乙個元素轉換為整型。 《互動式程式設計 第2版》一1 3 設計與互動
偉大的工業設計師henry dreyfuss把設計稱為 對人的測量 意思是,設計是理解和分析人類行為的絕佳途徑。如何定義 設計 一詞,這留給別人去想 而我則關注互動設計作為 創作一種工具或方法 的方面,我們使用這種工具或方法完成一些特定的事情。需要完成的事情越具體或特殊,所需的工具就越要精雕細刻,互...
《互動式程式設計 第2版》一2 7 作用域
作用域有時讓人很討厭,由它而起的問題通常難以定位。幸而要避免這樣的問題其實還挺簡單。先看一段processing void setup i 1 print i 我們在第3章會仔細講processing平台,現在你看不懂也沒有關係,直接編譯它。編譯之後processing的控制台視窗會彈出些有趣的訊息...
《互動式程式設計 第2版》一2 7 作用域
作用域有時讓人很討厭,由它而起的問題通常難以定位。幸而要避免這樣的問題其實還挺簡單。先看一段processing void setup i 1 print i 我們在第3章會仔細講processing平台,現在你看不懂也沒有關係,直接編譯它。編譯之後processing的控制台視窗會彈出些有趣的訊息...