- 計算機程式設計教程
- 計算機程式設計 - 首頁
- 計算機程式設計 - 概述
- 計算機程式設計 - 基礎
- 程式設計 - 環境
- 程式設計 - 基本語法
- 程式設計 - 資料型別
- 計算機程式設計 - 變數
- 計算機程式設計 - 關鍵字
- 計算機程式設計 - 運算子
- 計算機程式設計 - 決策
- 計算機程式設計 - 迴圈
- 計算機程式設計 - 數字
- 程式設計 - 字元
- 計算機程式設計 - 陣列
- 計算機程式設計 - 字串
- 計算機程式設計 - 函式
- 計算機程式設計 - 檔案I/O
- 計算機程式設計 - 總結
- 計算機程式設計資源
- 程式設計 - 快速指南
- 計算機程式設計 - 資源
- 程式設計 - 討論
計算機程式設計 - 數字
每種程式語言都支援操作不同型別的數字,例如簡單的整數和浮點數。C、Java和Python根據數字的性質將它們分為幾類。
讓我們回顧一下資料型別章節,我們列出了與數字相關的核心資料型別:
| 型別 | 關鍵字 | 此資料型別可以表示的值範圍 |
|---|---|---|
| 整數 | int | -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |
| 短整數 | short | -32,768 到 32,767 |
| 長整數 | long | -2,147,483,648 到 2,147,483,647 |
| 十進位制數 | float | 1.2E-38 到 3.4E+38,精確到小數點後6位 |
這些資料型別稱為基本資料型別,您可以使用這些資料型別來構建更多的資料型別,這些資料型別稱為使用者自定義資料型別。
在討論運算子時,我們已經看到了對數字進行各種數學和邏輯運算。所以我們知道如何加、減、除數字等。
首先讓我們看看如何在C程式語言中列印各種型別的數字:
#include <stdio.h>
int main() {
short s;
int i;
long l;
float f;
double d;
s = 10;
i = 1000;
l = 1000000;
f = 230.47;
d = 30949.374;
printf( "s: %d\n", s);
printf( "i: %d\n", i);
printf( "l: %ld\n", l);
printf( "f: %.3f\n", f);
printf( "d: %.3f\n", d);
}
其餘程式碼非常明顯,但我們使用%.3f來列印float和double,這表示要列印的小數位數。執行上述程式後,將產生以下結果:
s: 10 i: 1000 l: 1000000 f: 230.470 d: 30949.374
數字的數學運算
下表列出了C程式語言中可用於各種重要數學計算的各種有用的內建數學函式。
例如,如果您想計算一個數字的平方根,例如2304,那麼您可以使用內建函式來計算平方根。
| 序號 | 函式及用途 |
|---|---|
| 1 | double cos(double); 此函式接收一個角度(作為double型別)並返回餘弦值。 |
| 2 | double sin(double); 此函式接收一個角度(作為double型別)並返回正弦值。 |
| 3 | double tan(double); 此函式接收一個角度(作為double型別)並返回正切值。 |
| 4 | double log(double); 此函式接收一個數字並返回該數字的自然對數。 |
| 5 | double pow(double, double); 第一個引數是您希望提升的數字,第二個引數是您希望提升的冪。 |
| 6 | double hypot(double, double); 如果您將直角三角形的兩條邊的長度傳遞給此函式,它將返回斜邊的長度。 |
| 7 | double sqrt(double); 您將一個數字傳遞給此函式,它將返回其平方根。 |
| 8 | int abs(int); 此函式返回傳遞給它的整數的絕對值。 |
| 9 | double fabs(double); 此函式返回傳遞給它的任何十進位制數的絕對值。 |
| 10 | double floor(double); 查詢小於或等於傳遞給它的引數的整數。 |
下面是一個簡單的示例,用於顯示一些數學運算。要使用這些函式,您需要像包含stdio.h一樣,在程式中包含數學標頭檔案<math.h>:
#include <stdio.h>
#include <math.h>
int main() {
short s;
int i;
long l;
float f;
double d;
printf( "sin(s): %f\n", sin(10));
printf( "abs(i): %f\n", abs(1000));
printf( "floor(f): %f\n", floor(230.47));
printf( "sqrt(l): %f\n", sqrt(1000000));
printf( "pow(d, 2): %f\n", pow(2.374, 2));
}
執行上述程式後,將產生以下結果:
sin(s): -0.544021 abs(i): -0.544021 floor(f): 230.000000 sqrt(l): 1000.000000 pow(d, 2): 5.635876
除了上述用法外,您還將在C程式設計中的迴圈計數、標誌表示、真或假值中使用數字。
Java中的數字
以下是Java編寫的等效程式。Java提供了幾乎所有C程式設計中可用的數值資料型別。
您可以嘗試執行以下程式以檢視輸出,該輸出與上述C示例生成的輸出相同。
public class DemoJava {
public static void main(String []args) {
short s;
int i;
long l;
float f;
double d;
s = 10;
i = 1000;
l = 1000000L;
f = 230.47f;
d = 30949.374;
System.out.format( "s: %d\n", s);
System.out.format( "i: %d\n", i);
System.out.format( "l: %d\n", l);
System.out.format( "f: %f\n", f);
System.out.format( "d: %f\n", d);
}
}
執行上述程式後,將產生以下結果:
s: 10 i: 1000 l: 1000000 f: 230.470001 d: 30949.374000
Java還提供全套用於數學計算的內建函式,您可以像在C程式設計中一樣使用它們。
Python中的數字
Python與C和Java略有不同;它將數字分為int、long、float和complex。以下是Python中一些數字的示例:
| int | long | float | 複數 |
|---|---|---|---|
| 10 | 51924361L | 0.0 | 3.14j |
| 100 | -0x19323L | 15.20 | 45.j |
| -786 | 0122L | -21.9 | 9.322e-36j |
| 080 | 0xDEFABCECBDAECBFBAEl | 32.3+e18 | .876j |
| -0490 | 535633629843L | -90. | -.6545+0J |
| -0x260 | -052318172735L | -32.54e100 | 3e+26J |
| 0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
以下是Python編寫的等效程式:
s = 10 i = 1000 l = 1000000 f = 230.47 d = 30949.374 print "s: ", s print "i: ", i print "l: ", l print "f: ", f print "d: ", d
執行上述程式後,將產生以下結果:
s: 10 i: 1000 l: 1000000 f: 230.47 d: 30949.374
Python還提供全套用於數學計算的內建函式,您可以像在C程式設計中一樣使用它們。