计算机编程 - 数字



每种编程语言都支持操作不同类型的数字,例如简单的整数和浮点数。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编程中一样使用它们。

广告