Skip to content

C Numeric Data Types

🧠 C Numeric Data Types — āĻāĻ•āĻĻāĻŽ Dummy āĻĻ⧇āϰ āϜāĻ¨ā§āϝ Full Explained in Banglish!Âļ

đŸĒ„ āϧāϰ⧇āύ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻž store āϖ⧁āϞāϛ⧇āύ — āφāϰ āĻĒā§āϰāϤāĻŋāϟāĻž product āϰāĻžāĻ–āĻžāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϕ⧇ āĻ āĻŋāĻ•āĻ āĻžāĻ• container āϞāĻžāĻ—āĻŦ⧇āĨ¤ āĻŦ⧜ āĻ•āĻŋāϛ⧁ āĻšāϞ⧇ āĻŦ⧜ āĻŦāĻžāĻ•ā§āϏ, āϛ⧋āϟ āĻ•āĻŋāϛ⧁ āĻšāϞ⧇ āϛ⧋āϟ āĻĄāĻŋāĻŦā§āĻŦāĻžāĨ¤ āĻ āĻŋāĻ• āĻāĻ•āχ āĻ­āĻžāĻŦ⧇ C āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽā§‡āĻ“ variable āĻŦāĻžāύāĻžāϤ⧇ āĻšāϞ⧇ āφāĻĒāύāĻžāϕ⧇ āϜāĻžāύāĻžāϤ⧇ āĻšā§Ÿ,
➤ āφāĻĒāύāĻŋ āϕ⧋āύ āϧāϰāύ⧇āϰ āϏāĻ‚āĻ–ā§āϝāĻž āϰāĻžāĻ–āĻŦ⧇āύ (whole āύāĻž decimal)?
➤ āφāϰ āϏ⧇āχ āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻž āĻ•āϤ āĻŦ⧜ āĻšāϤ⧇ āĻĒāĻžāϰ⧇?

👉 āĻāχ info āϗ⧁āϞāĻž C āϕ⧇ āϜāĻžāύāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āφāĻŽāϰāĻž use āĻ•āϰāĻŋ — Numeric Data Types!


đŸ”ĸ C āϤ⧇ Numeric Data Types āĻĻ⧁āχ āĻ­āĻžāϗ⧇ āĻ­āĻžāĻ—:Âļ

āϟāĻžāχāĻĒ āĻ•āĻŋ āϰāĻžāϖ⧇ Example
Integer āĻĒā§‚āĻ°ā§āĻŖ āϏāĻ‚āĻ–ā§āϝāĻž (no point) 5, -20, 100
Floating Point āĻĻāĻļāĻŽāĻŋāĻ• āϏāĻ‚āĻ–ā§āϝāĻž (with point) 3.14, -2.5, 0.99

1ī¸âƒŖ Integer Types (Whole Numbers)Âļ

đŸ“Ļ āĻāϗ⧁āϞāĻž āĻĻāĻŋā§Ÿā§‡ āφāĻŽāϰāĻž point āĻ›āĻžā§œāĻž āϏāĻ‚āĻ–ā§āϝāĻž āϰāĻžāĻ–āĻŋāĨ¤ āϝ⧇āĻŽāύ: 25, -100

Type Size (Bytes) Range (āĻĒā§āϰāĻžā§Ÿ) āωāĻĻāĻžāĻšāϰāĻŖ
int 4 -2B to +2B int age = 18;
short 2 -32K to +32K short x = 10;
long 4 or 8 āĻŦ⧜ range long views = 100000;
long long 8 āĻŦāĻŋāĻļāĻžāϞ āϏāĻ‚āĻ–ā§āϝāĻž long long id = 1234567890;

✅ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ negative number āĻĻāϰāĻ•āĻžāϰ āύāĻž āĻĒā§œā§‡, āϤāĻžāĻšāϞ⧇ unsigned use āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ:

unsigned int count = 100; // āĻļ⧁āϧ⧁ positive 😎

âš ī¸ Warning: unsigned āĻ negative āĻĻāĻŋāϞ⧇ āĻĢāϞāĻžāĻĢāϞ āĻšāĻŦ⧇ āĻ…āĻĻā§āϭ⧁āϤ ❌


🧃 Analogy (Real life example)Âļ

int = 1 liter āĻāϰ āĻŦā§‹āϤāϞ
short = āĻ…āĻ°ā§āϧ⧇āĻ• āĻŦā§‹āϤāϞ
long = ā§§ā§Ļ āϞāĻŋāϟāĻžāϰ āĻĄā§āϰāĻžāĻŽ
long long = āĻŦāĻŋāĻļāĻžāϞ water tanker 🚛


2ī¸âƒŖ Floating Point Types (Decimal Numbers)Âļ

đŸ“Ļ āĻāϗ⧁āϞāĻž āĻĻāĻŋā§Ÿā§‡ point āϏāĻš āϏāĻ‚āĻ–ā§āϝāĻž āϰāĻžāĻ–āĻž āϝāĻžā§ŸāĨ¤

Type Size Precision (Digit Accuracy) Example
float 4 ≈ ā§Ŧ digits float temp = 36.5;
double 8 ≈ ā§§ā§Ģ digits double pi = 3.14159265;
long double 10+ āφāϰāĻ“ āĻŦ⧇āĻļāĻŋ precision long double g = 9.80665;

đŸ§Ē āĻ•āĻ–āύ āϕ⧋āύāϟāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āύ?Âļ

āĻĒā§āĻ°ā§Ÿā§‹āϜāύ Data Type
Simple decimal float
Accurate decimal double
High-precision calculation (physics/math) long double

🔰 Default / Initial Values:Âļ

C automatically variable āĻāϰ āĻŽāĻžāύ set āĻ•āϰ⧇ āύāĻž! āφāĻĒāύāĻŋ āύāĻŋāĻœā§‡ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇āĨ¤

Variable Default āϏāĻ āĻŋāĻ• āωāĻĒāĻžā§Ÿ
int x; ❌ Garbage int x = 0; ✅
float y; ❌ Garbage float y = 1.5; ✅

📋 Summary Table — āĻāĻ• āύāϜāϰ⧇Âļ

āϟāĻžāχāĻĒ Nature Example Range (āĻĒā§āϰāĻžā§Ÿ)
int Whole number int x = 5; Âą 2B
short Whole, āϛ⧋āĻŸā§‹ short a = 12; Âą 32K
long Whole, āĻŦ⧜ long v = 1M; āĻŦ⧇āĻļāĻŋ
float Decimal, āϏāĻžāϧāĻžāϰāĻŖ float pi = 3.14; Âą 10^38
double Decimal, accurate double g = 9.81; Âą 10^308

🧠 Flowchart — āϕ⧋āύ Data Type āύ⧇āĻŦ⧇āύ?Âļ

            +---------------------------+
            | Decimal āĻĻāϰāĻ•āĻžāϰ āφāϛ⧇?         |
            +---------------------------+
                      |
           +----------+-----------+
          āĻšā§āϝāĻžāρ                    āύāĻž
           |                      |
      +----v----+          +------v------+
      |  float  |          |     int     |
      +---------+          +-------------+
           |
   +-------v--------+
   | Precision āĻĻāϰāĻ•āĻžāϰ āĻŦ⧇āĻļāĻŋ? |
   +------------------+
           |
    āĻšā§āϝāĻžāρ           āύāĻž
     |              |
+----v----+       float
| double  |
+---------+

âš ī¸ āϭ⧁āϞ āϝ⧇āϗ⧁āϞāĻž Beginner āϰāĻž āĻ•āϰ⧇:Âļ

❌ āϭ⧁āϞ āĻ•āĻŋ āĻšāĻŦ⧇
int x; declare āĻ•āϰ⧇ assign āύāĻž āĻĻā§‡ā§ŸāĻž Garbage value āφāϏāĻŦ⧇ âš ī¸
float use āĻ•āϰ⧇ exact value expect āĻ•āϰāĻž value āĻ­āĻžāĻ™āĻž āφāϏāϤ⧇ āĻĒāĻžāϰ⧇ ❌
%d vs %f āϭ⧁āϞ printf format output āϭ⧁āϞ āĻŦāĻž crash

āωāĻĻāĻžāĻšāϰāĻŖ:

int x = 10;
printf("%d", x); // ✅ āĻ āĻŋāĻ• āφāϛ⧇
printf("%f", x); // ❌ float format, āϭ⧁āϞ!

🎓 āĻāĻ•āϟāĻž āĻŽāϜāĻžāϰ analogy āĻŽāύ⧇ āϰāĻžāĻ–āĻžāϰ āϜāĻ¨ā§āϝÂļ

Think of variables as different size containers:

  • int = āϜ⧁āϏ⧇āϰ āĻ—ā§āϞāĻžāϏ đŸĨ¤
  • float = āĻŽāĻžāĻĒāĻžāϰ āĻ•āĻžāĻĒ đŸ§Ē
  • double = ā§§ āϞāĻŋāϟāĻžāϰ āĻŦā§‹āϤāϞ 🧴
  • long = āĻŦ⧜ āĻĄā§āϰāĻžāĻŽ
  • short = āϚāĻž āĻāϰ āĻ•āĻžāĻĒ â˜•

āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āϛ⧋āϟ āĻ•āĻžāĻĒ⧇ ⧍ āϞāĻŋāϟāĻžāϰ āĻĒāĻžāύāĻŋ āĻĸāĻžāϞ⧇āύ, overflow āĻšāĻŦ⧇ āĻŦāĻž āϭ⧁āϞ āφāϏāĻŦ⧇ đŸ˜