การเขียนโปรแกรมคอมพิวเตอร์ - ตัวเลข

ภาษาโปรแกรมทุกภาษาให้การสนับสนุนสำหรับการจัดการตัวเลขประเภทต่างๆเช่นจำนวนเต็มจำนวนเต็มและตัวเลขทศนิยม C, Java และ Python จัดหมวดหมู่ตัวเลขเหล่านี้ในหลายประเภทตามลักษณะ

ลองกลับไปตรวจสอบบทประเภทข้อมูลซึ่งเราได้ระบุประเภทข้อมูลหลักที่เกี่ยวข้องกับตัวเลข -

ประเภท คำสำคัญ ช่วงค่าซึ่งสามารถแสดงโดยประเภทข้อมูลนี้
จำนวน int -32,768 ถึง 32,767 หรือ -2,147,483,648 ถึง 2,147,483,647
จำนวนน้อย สั้น -32,768 ถึง 32,767
หมายเลขยาว ยาว -2,147,483,648 ถึง 2,147,483,647
เลขฐานสิบ ลอย 1.2E-38 ถึง 3.4E + 38 จนถึงทศนิยม 6 ตำแหน่ง

ชนิดข้อมูลเหล่านี้เรียกว่าชนิดข้อมูลดั้งเดิมและคุณสามารถใช้ชนิดข้อมูลเหล่านี้เพื่อสร้างชนิดข้อมูลเพิ่มเติมซึ่งเรียกว่าชนิดข้อมูลที่ผู้ใช้กำหนดเอง

เราได้เห็นการดำเนินการทางคณิตศาสตร์และตรรกะต่างๆเกี่ยวกับตัวเลขในระหว่างการอภิปรายเกี่ยวกับตัวดำเนินการ เราจึงรู้วิธีบวกเลขลบเลขหารเลข ฯลฯ

ก่อนอื่นเรามาดูวิธีการพิมพ์ตัวเลขประเภทต่างๆที่มีในโปรแกรมภาษาซี -

#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

การดำเนินการทางคณิตศาสตร์เกี่ยวกับตัวเลข

ตารางต่อไปนี้แสดงรายการทางคณิตศาสตร์ในตัวที่มีประโยชน์ต่างๆ functions มีอยู่ในโปรแกรมภาษาซีซึ่งสามารถใช้สำหรับการคำนวณทางคณิตศาสตร์ที่สำคัญต่างๆ

ตัวอย่างเช่นหากคุณต้องการคำนวณรากที่สองของตัวเลขตัวอย่างเช่น 2304 คุณจะมีฟังก์ชันในตัวสำหรับคำนวณรากที่สอง

ซีเนียร์ ฟังก์ชั่นและวัตถุประสงค์
1

double cos(double);

ฟังก์ชันนี้ใช้มุม (เป็นคู่) และส่งกลับโคไซน์

2

double sin(double);

ฟังก์ชันนี้รับมุม (เป็นคู่) และส่งกลับไซน์

3

ตาลคู่ (สองเท่า);

ฟังก์ชันนี้ใช้มุม (เป็นคู่) และส่งกลับแทนเจนต์

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.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

ตัวเลขใน 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 ยาว ลอย ซับซ้อน
10 51924361 ล 0.0 3.14j
100 -0x19323 ล 15.20 น 45.j
-786 0122 ล -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3 + จ 18 .876j
-0490 535633629843 ล -90. -.6545 + 0J
-0x260 -052318172735 ล -32.54e100 3e + 26J
0x69 -4721885298529 ล 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