Computer Programming 简明教程

Computer Programming - Numbers

每种编程语言都支持操作不同类型的数字,例如简单的整数和小数。C、Java 和 Python 根据数字的性质将这些数字分类为几个类别。

我们回到数据类型章节检查一下,我们在其中列出了与数字相关的核心数据类型:

Type

Keyword

该数据类型可以表示的值范围

Number

int

-32768 到 32767 或 -2147483648 到 2147483647

Small Number

short

-32,768 to 32,767

Long Number

long

-2,147,483,648 to 2,147,483,647

Decimal Number

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 打印浮点数和双精度数,它表示要打印的小数点后面位数。当执行以上程序时,它产生以下结果−

s: 10
i: 1000
l: 1000000
f: 230.470
d: 30949.374

Math Operations on Numbers

以下表格列出 C 编程语言中可用的各种有用的内置数学 functions ,可用于各种重要的数学计算。

例如,如果你想计算某数的平方根,比如 2304,那么你有一个可用于计算平方根的内置函数。

Sr.No.

Function & Purpose

1

double cos(double); 此函数采用一个角度(作为 double 类型)并返回余弦值。

2

double sin(double); 此函数接受一个角度(作为双精度浮点数),并返回正弦值。

3

**double tan(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); 找出小于或等于传递给它的参数的整数。

以下是一个简单的例子,演示了一些数学运算。要利用这些函数,你需要在你的程序中包含 math 头文件 <math.h> ,和你包含 stdio.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 编程中的真或假值中使用数字。

Numbers in 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 编程中一样使用它们。

Numbers in Python

Python 与 C 和 Java 有点不同。它将数字分为 intlongfloatcomplex 。以下是 Python 中数字的一些示例−

int

long

float

complex

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 编程中一样使用它们。