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 āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
â ī¸ 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 āĻšāĻŦā§ āĻŦāĻž āĻā§āϞ āĻāϏāĻŦā§ đ