計算機程式設計 - 數字



每種程式語言都支援操作不同型別的數字,例如簡單的整數和浮點數。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略有不同;它將數字分為intlongfloatcomplex。以下是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程式設計中一樣使用它們。

廣告
© . All rights reserved.