ูู ูุบุฉ C# ูุงููุบุงุช ุงูู Low-levelุ ุงูู Data ุจุชุชุฎุฒู ุฌูู ุงูู Memory ุนูู ุดูู Binary Representation (ูุนูู ุฃุตูุงุฑ ููุญุงูุฏ). ูู Data Type ููู ุทุฑููุฉ ู ุนููุฉ ูู ุงูุชุฎุฒูู ุจุชุญุฏุฏ ูู ููุงุฎุฏ ูุงู Bit ูู ุงูุฐุงูุฑุฉุ ููู ููู Bit ู ููู ู ุฎุตุต ุนุดุงู ูุญุฏุฏ ุงูุฅุดุงุฑุฉ (sign) ููุง ูุฃ.
1. Signed vs. Unsigned
ูู ุง ุจูุชููู ุนู ุงูุฃุฑูุงู ุงูุตุญูุญุฉ (Integers)ุ ุจููุงูู ููุนูู ุฃุณุงุณููู ู ููู :
- ุงูู (Signed): ุฏู ุงูู Types ุงููู ู ู ูู ุชุดูู ุฃุฑูุงู ู ูุฌุจุฉ ุฃู ุณุงูุจุฉ ุฃู ุตูุฑ.
- ุงูู (Unsigned): ุฏู ุงูู Types ุงููู ุจุชุดูู ุฃุฑูุงู ู ูุฌุจุฉ ุจุณ (ุตูุฑ ุฃู ุฃูุชุฑ ู ู ุงูุตูุฑ).
Sign Bit
-
ูู ุงูุฃุฑูุงู ุงูู Signedุ ุจูููู ููู Bit ูุงุญุฏ ุจุณ (ุบุงูุจูุง ุจูููู ุฃูู Bit ุนูู ุงูุดู ุงูุ ุงููู ุจูุณู ูู Most Significant Bit - MSB) ู ุญุฌูุฒ ู ุฎุตูุต ุนุดุงู ูููููุง ุฅุดุงุฑุฉ ุงูุฑูู ุฅูู:
- ูู ุงูู Bit ุฏู ููู ุชู 0: ูุจูู ุงูุฑูู ุฏู ู ูุฌุจ (ุฃู ุตูุฑ).
- ูู ุงูู Bit ุฏู ููู ุชู 1: ูุจูู ุงูุฑูู ุฏู ุณุงูุจ.
-
ูู ุซุงูุ ุงูู Data Type ุงููู ุงุณู ู
intูู C# ุจูุงุฎุฏ 4 ุจุงูุช (ูุนูู 32 Bit). ุฃูู Bit ู ููู ุจูุณุชุฎุฏู ุนุดุงู ูุญุฏุฏ ุงูุฅุดุงุฑุฉุ ูุงูู 31 Bit ุงูุจุงูููู ุจูุณุชุฎุฏู ูุง ุนุดุงู ูู ุซููุง ููู ุฉ ุงูุฑูู ููุณู. -
ุงูููู ุงูู ูุฌุจุฉ: ุจุชุชู ุซู ูู ุงูู Binary Representation ุจุดูู ุทุจูุนู ูู ูููู .
-
ุงูููู ุงูุณุงูุจุฉ: ุจุชุชู ุซู ูู ุงูู Memory ุจุงุณุชุฎุฏุงู ุทุฑููุฉ ู ุดููุฑุฉ ุฌุฏูุง ุงุณู ูุง Twoโs Complement.
Twoโs Complement
- ุฏู ุงูุชูููุฉ ุงููู ุจุชุณุชุฎุฏู ุจุดูู ูุงุณุน ุฌุฏูุง ุนุดุงู ูู ุซู ุงูุฃุฑูุงู ุงูุณุงูุจุฉ ุฌูู ุงููู ุจููุชุฑ.
- ููุฑุชูุง ุจุจุณุงุทุฉ ูุฏู: ุนุดุงู ุชุฌูุจ ุงูู Twoโs Complement ูุฑูู
ุณุงูุจ (ุฒู -5 ู
ุซูุงู):
- ูุงุช ุงูู Binary Representation ุจุชุงุน ุงูุฑูู ุงูู ูุฌุจ ุงูู ูุงุจู ููู (ูุนูู ูุงุช ุงูู Binary ุจุชุงุน 5).
- ุงููุจ ูู ุงูู Bits ุงููู ุทูุนุช ู ุนุงู (ุงูู 0 ูุจูู 1 ูุงูู 1 ูุจูู 0). ุฏู ุงุณู ูุง Oneโs Complement.
- ุงุฌู ุน 1 ุนูู ุงููุงุชุฌ ุงููู ุทูุนูู ุจุนุฏ ุฎุทูุฉ ุงูููุจ ุฏู.
- ุงูู ูุฒุฉ ุงููุจูุฑุฉ ุฃูู ูู ุงูุทุฑููุฉ ุฏู ุฅููุง ุจุชุฎูู ุนู ููุงุช ุงูุฌู ุน ูุงูุทุฑุญ ุชุดุชุบู ุจููุณ ุงูุฏูุงูุฑ ุงูุฅููุชุฑูููุฉ (hardware circuits) ุงููู ุฌูู ุงูู Processorุ ุณูุงุก ูุงูุช ุงูุฃุฑูุงู ุงููู ุจุชุฌู ุนูุง ุฃู ุจุชุทุฑุญูุง ุฏู ู ูุฌุจุฉ ุฃู ุณุงูุจุฉ. ูุฏู ุจูุณูู ูุชูุฑ ูู ุชุตู ูู ุงูู Processors.
2. Practical Examples
2.1. Signed
// Example with signed int
int x = -5;
// In memory, -5 is stored using Two's Complement representation.
// For a 32-bit integer, it would look something like:
// 1111 1111 1111 1111 1111 1111 1111 1011
// The first bit (Most Significant Bit) is 1, indicating a negative number.
Console.WriteLine($"The value of signed int x is: {x}");2.2. Unsigned
// Example with unsigned uint
uint y = 5;
// In memory, 5 is stored directly in its binary form.
// All 32 bits are used to represent the magnitude of the number,
// as unsigned types cannot be negative.
// For a 32-bit unsigned integer, it would look like:
// 0000 0000 0000 0000 0000 0000 0000 0101
Console.WriteLine($"The value of unsigned int y is: {y}");
// Trying to assign a negative value to an unsigned type causes an error
// uint z = -10; // Compile-time error3. Additional Details
- ุจุงููุณุจุฉ ููู Types ุงููู ุจุชุดูู ุฃุฑูุงู
ุจูุณูุฑ (Floating-Point Types) ุฒู ุงูู
floatูุงููdoubleุ ุทุฑููุฉ ุงูุชุฎุฒูู ุจุชุงุนุชูุง ู ุฎุชููุฉ ุนู ุงูู Integers. ุจูููู ููู Bits ู ุฎุตุตุฉ ููุฅุดุงุฑุฉุ ูBits ุชุงููุฉ ููููู ุฉ ุงููู ููู (ุงููู ุจูุณู ููุง exponent)ุ ูBits ุชุงููุฉ ููููู ุฉ ุงููุณุฑูุฉ ููุณูุง (ุจูููู ุนูููุง mantissa ุฃู significand). ุงูุชุฎุฒูู ุฏู ุจูููู ู ุงุดู ุนูู ู ุนูุงุฑ ุนุงูู ู ุงุณู ู IEEE 754. - ุฃู ุง ุงูู Types ุงููู ู ู ููุน ู ุฑุฌุน (Reference Types) ุฒู ุงูู Classes ูุงูู Arraysุ ูุฏู ู ุด ุจุชุฎุฒู ุงูููู ุฉ ููุณูุง ุจููุณ ุงูุทุฑููุฉ ุฏู. ุงูู Variable ุงููู ุจุชุนุฑูู ู ููู ุจูุฎุฒู ู ุฌุฑุฏ ุนููุงู (reference) ุจูุดุงูุฑ ุนูู ุงูู ูุงู ุงููู ููู ุงูู Data ุงููุนููุฉ ุฏู ูู ุงูู Heap.
ููู ุฅุฒุงู ุงูุฃุฑูุงู ุจุชุชู ุซู ุฌูู ุงูู Memory ุจูุณุงุนุฏู ุชููู ุญุฏูุฏ ูู Data Type ุฅููุ ูููู ู ู ูู ุชุญุตู ู ุดุงูู ุฒู ุงูู Overflow (ูู ุง ุงูุฑูู ููุจุฑ ุฃูุชุฑ ู ู ุงููู ุงูู Type ููุฏุฑ ูุดููู) ูู ุจุนุถ ุงูุฃููุงุช.