Binary, Decimal and Hexadecimal Numbers Telerik Software Academy C# Fundamentals – Part 2
1. Numeral Systems Binary and Decimal Numbers Hexadecimal Numbers Conversion between Numeral Systems 2. Representation of Numbers Positive and Negative Integer Numbers Floating-Point Numbers 3. Text Representation 2
Conversion between Numeral Systems
Decimal numbers (base 10 ) Represented using 10 digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Each position represents a power of 10 : 401= 4* * *10 0 = 130= 1* * *10 0 = 9786= 9* * * *10 0 = = 9* * *10 + 6*1 = =
Binary numbers are represented by sequence of bits (smallest unit of information – 0 or 1 ) Bits are easy to represent in electronics
Binary numbers (base 2 ) Represented by 2 digits: 0 and 1 Each position represents a power of 2 : 101 (2) = 1* * *2 0 = = = = 5 110 (2) = 1* * *2 0 = = = = 6 = 1* * * * * *2 0 = = = = 53 6
Multiply each numeral by its exponent: 1001 (2) = 1* *2 0 = 1*8+ 1*1= = 9 = 9 0111 (2) = 0* * * *2 0 = = = = = 7 = 1* * * * *2 1 = = = = = = 54 7
Divide by 2 and append the reminders in reversed order: 500/2 = 250 (0) 250/2 = 125 (0) 125/2 = 62 (1) 62/2 = 31 (0) 500 d = b 62/2 = 31 (0) 500 d = b 31/2 = 15 (1) 31/2 = 15 (1) 15/2 = 7 (1) 15/2 = 7 (1) 7/2 = 3 (1) 7/2 = 3 (1) 3/2 = 1 (1) 3/2 = 1 (1) 1/2 = 0 (1) 1/2 = 0 (1) 8
Hexadecimal numbers (base 16 ) Represented using 16 digits: 0, 1, 2,... 9, A, B, C, D, E and F Usually prefixed with 0x 0 0x0 8 0x8 1 0x1 9 0x9 2 0x210 0xA 3 0x311 0xB 4 0x412 0xC 5 0x513 0xD 6 0x614 0xE 7 0x715 0xF 9
Each position represents a power of 16 : 9786 (16) = 9* * * *16 0 = = 9* *256+ 8*16+ 6*1= = 0xABCDEF (16) = 10* * * * * *16 0 = 13* * *16 0 = =
Multiply each digit by its exponent 1F4 (16) = 1* * *16 0 = = 1* *16+ 4*1 = = 500 (10) FF (16) = 15* *16 0 = = = = 255 (10) 11
Divide by 16 and append the reminders in reversed order 500/16 = 31 (4) 31/16 = 1 (F) 500 d = 1F4 hex 1/16 = 0 (1) 12
The conversion from binary to hexadecimal (and back) is straightforward: each hex digit corresponds to a sequence of 4 binary digits: 0x0 = 00000x8 = x1 = 00010x9 = x2 = 00100xA = x3 = 00110xB = x4 = 01000xC = x5 = 01010xD = x6 = 01100xE = x7 = 01110xF =
Positive and Negative Integers and Floating-Point Numbers
A short is represented by 16 bits 100= = = An int is represented by 32 bits = = = A char is represented by 16 bits '0'= 48 = = =
A number's sign is determined by the Most Significant Bit (MSB) Only in signed integers: sbyte, short, int, long Leading 0 means positive number Leading 1 means negative number Example: (8 bit numbers) 0XXXXXXX (2) > 0 e.g (2) = (2) = 0 1XXXXXXX (2) < 0 e.g (2) =
The largest positive 8-bit sbyte number is: 127 ( ) = (2) The smallest negative 8-bit number is: -128 ( -2 7 ) = (2) The largest positive 32 -bit int number is: ( ) = 01111…11111 (2) The smallest negative 32 -bit number is: ( ) = 10000…00000 (2) 17
+127= = = = = = = = = = Positive 8-bit numbers have the format 0XXXXXXX Their value is the decimal of their last 7 bits ( XXXXXXX) Negative 8-bit numbers have the format 1YYYYYYY Their value is 128 ( 2 7 ) minus ( - ) the decimal of YYYYYYY (2) = 2 7 – (2) = = = -110
Floating-point numbers representation (according to the IEEE 754 standard*): Example: sign * 2 exponent * mantissa 19 2 k n SP 0...P k-1 M 0 M 1 M n-1 SignExponentMantissa Mantissa =1, Exponent= 4Sign=-1 Bits [22…0]Bits [30…23] Bit31 * See
A text encoding is a system that uses binary numbers ( 1 and 0 ) to represent characters Letters, numerals, etc. In the ASCII encoding each character consists of 8 bits (one byte) of data ASCII is used in nearly all personal computers In the Unicode (UTF- 16 ) encoding each character consists of 16 bits (two bytes) Can represent many alphabets 21
Excerpt from the ASCII table Binary Code Decimal Code Character A B C D # ~ 22
Strings are sequences of characters Null-terminated (like in C) Represented by an array Characters in the strings can be: 8 bit (ASCII / windows / …) 16 bit (UTF- 16 ) – In.NET languages (C#) ……………………\0 4 bytes length………………23
форум програмиране, форум уеб дизайн курсове и уроци по програмиране, уеб дизайн – безплатно програмиране за деца – безплатни курсове и уроци безплатен SEO курс - оптимизация за търсачки уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop уроци по програмиране и уеб дизайн за ученици ASP.NET MVC курс – HTML, SQL, C#,.NET, ASP.NET MVC безплатен курс "Разработка на софтуер в cloud среда" BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране, книги – безплатно от Наков безплатен курс "Качествен програмен код" алго академия – състезателно програмиране, състезания ASP.NET курс - уеб програмиране, бази данни, C#,.NET, ASP.NET курсове и уроци по програмиране – Телерик академия курс мобилни приложения с iPhone, Android, WP7, PhoneGap free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране
“C# Telerik Academy csharpfundamentals.telerik.com csharpfundamentals.telerik.com Telerik Software Academy academy.telerik.com academy.telerik.com Telerik Facebook facebook.com/TelerikAcademy facebook.com/TelerikAcademy Telerik Software Academy Forums forums.academy.telerik.com forums.academy.telerik.com