The document provides an overview of binary and decimal number systems. It begins by explaining that computers use binary while humans typically use decimal. It then discusses how binary represents numbers using only 1s and 0s, with each digit representing a power of 2. The document presents an example of counting coins in binary to illustrate this concept. It also discusses how to convert between binary and decimal numbers by writing the binary number as a sum of powers of 2 or repeatedly dividing the decimal number by 2 and recording the remainders as binary digits.
The document provides an overview of binary number systems and how they are used in computers. It begins by explaining that computers use binary rather than decimal. It then discusses:
1) How binary works by representing numbers as strings of 1s and 0s, with each digit representing a power of 2.
2) Methods for converting between binary and decimal numbers, including dividing decimal numbers by 2 repeatedly and expressing them as sums of powers of 2.
3) Key concepts like bits, bytes, and how all computer data is ultimately stored as binary.
This document provides an overview of data representation in computer systems. It discusses how computers use binary numeric codes to represent different types of data like text, numbers, graphics and audio. These codes allow computers to interpret raw sequences of 0s and 1s as meaningful information. The document then explains binary number systems in more detail, how decimal numbers can be converted to and from binary, and how bytes and bits are used to store data in computer memory and represent characters. Specific examples are given of how binary representations are used in applications like robotics to control devices.
The document summarizes the solution to the game of NIM. It explores the game through examples with small numbers of coins and identifies losing positions (LPs). Through this exploration, it is determined that a position is an LP if, when the coin amounts are written in binary, there is an even number of 1's in each column. A theorem is proved to show this fully characterizes the LPs. The best strategy is to give your opponent an LP whenever possible to force a win.
A number system represents numbers using digits or symbols in a consistent manner. It allows unique representation of numbers and performing arithmetic operations. Common number systems include decimal (base 10), binary (base 2), octal (base 8), and hexadecimal (base 16). Each position in a number represents a power of the base. For example, in the decimal number 1457, the 1 is in the thousands place with a value of 1000.
The document provides an overview of number systems throughout history. It discusses how ancient civilizations like the Egyptians and Babylonians experimented with different bases like base-12 and base-60 systems. It then covers the decimal system and describes number types like rational, irrational, integer, natural numbers and their properties. The document also discusses concepts like fractions in ancient Egypt, binary numbers and the expansion of numbers into terminating, non-terminating recurring and non-recurring decimals.
This document contains an English topic examination for 7th grade consisting of 5 sections testing various grammar and vocabulary skills. Section 1 asks students to find opposites of words. Section 2 has students complete sentences using comparative adjectives. Section 3 poses questions for students to answer. Section 4 tests knowledge of comparative structures. Section 5 asks students to provide comparative and superlative forms of adjectives. The exam covers a range of foundational English language concepts.
Barack Obama became the first African American president of the United States. He was born in 1961 and attended Occidental College, Columbia University, and Harvard Law School. Obama worked in Chicago and served in the Illinois State Senate before becoming a U.S. Senator. In 2008, he won the Democratic nomination and defeated John McCain in the general election, becoming the 44th president of the United States.
The document provides an overview of binary number systems and how they are used in computers. It begins by explaining that computers use binary rather than decimal. It then discusses:
1) How binary works by representing numbers as strings of 1s and 0s, with each digit representing a power of 2.
2) Methods for converting between binary and decimal numbers, including dividing decimal numbers by 2 repeatedly and expressing them as sums of powers of 2.
3) Key concepts like bits, bytes, and how all computer data is ultimately stored as binary.
This document provides an overview of data representation in computer systems. It discusses how computers use binary numeric codes to represent different types of data like text, numbers, graphics and audio. These codes allow computers to interpret raw sequences of 0s and 1s as meaningful information. The document then explains binary number systems in more detail, how decimal numbers can be converted to and from binary, and how bytes and bits are used to store data in computer memory and represent characters. Specific examples are given of how binary representations are used in applications like robotics to control devices.
The document summarizes the solution to the game of NIM. It explores the game through examples with small numbers of coins and identifies losing positions (LPs). Through this exploration, it is determined that a position is an LP if, when the coin amounts are written in binary, there is an even number of 1's in each column. A theorem is proved to show this fully characterizes the LPs. The best strategy is to give your opponent an LP whenever possible to force a win.
A number system represents numbers using digits or symbols in a consistent manner. It allows unique representation of numbers and performing arithmetic operations. Common number systems include decimal (base 10), binary (base 2), octal (base 8), and hexadecimal (base 16). Each position in a number represents a power of the base. For example, in the decimal number 1457, the 1 is in the thousands place with a value of 1000.
The document provides an overview of number systems throughout history. It discusses how ancient civilizations like the Egyptians and Babylonians experimented with different bases like base-12 and base-60 systems. It then covers the decimal system and describes number types like rational, irrational, integer, natural numbers and their properties. The document also discusses concepts like fractions in ancient Egypt, binary numbers and the expansion of numbers into terminating, non-terminating recurring and non-recurring decimals.
This document contains an English topic examination for 7th grade consisting of 5 sections testing various grammar and vocabulary skills. Section 1 asks students to find opposites of words. Section 2 has students complete sentences using comparative adjectives. Section 3 poses questions for students to answer. Section 4 tests knowledge of comparative structures. Section 5 asks students to provide comparative and superlative forms of adjectives. The exam covers a range of foundational English language concepts.
Barack Obama became the first African American president of the United States. He was born in 1961 and attended Occidental College, Columbia University, and Harvard Law School. Obama worked in Chicago and served in the Illinois State Senate before becoming a U.S. Senator. In 2008, he won the Democratic nomination and defeated John McCain in the general election, becoming the 44th president of the United States.
The document discusses the binary number system used by computers. It begins by explaining how humans developed base-10 numbering based on having 10 fingers, but computers use base-2 binary numbering since transistors can only be on or off (1 or 0). All data in computers is represented as strings of 1s and 0s. It then provides examples of how binary numbers are written and converted to decimal numbers by treating each bit as a power of 2, similar to how decimal numbers treat each digit as a power of 10. Converting between binary and decimal involves writing the binary number as a sum of powers of 2 and adding the place values of bits that are 1.
The document discusses different number systems including decimal, binary, hexadecimal, and octal number systems. It explains the basics of each system, such as the base and place value representation. It also covers how to perform operations like addition, subtraction, and conversion between the different number systems. Converting between binary and hexadecimal involves grouping bits into nibbles (4 bits) or nybbles (3 bits). Subtraction in computers is performed using two's complement by adding the complement of the subtrahend. Understanding number systems is important for computer science topics that involve binary, memory addresses, and color representation.
Computers use binary, which is a base-2 counting system that uses only two digits: 0 and 1. A byte is made up of 8 bits, with each additional bit doubling the number of possible combinations from 2 to 256. Using 8 bits allows a byte to represent the 256 most common characters, including letters, numbers, and punctuation, when typed on a keyboard.
Bits are the basic units of information in computing, representing values of 0 or 1. Bytes consist of 8 bits bundled together, allowing 256 possible values. Computer components like memory and storage are measured using multiples of bytes like kilobytes and megabytes. Binary numbers use bits like decimal numbers use digits, with each place value representing increasing powers of two rather than ten. Bytes are commonly used to represent text characters through encoding schemes like ASCII.
Bits are the basic units of information in computing, representing values of 0 or 1. Bytes consist of 8 bits bundled together, allowing 256 possible values. Computer components like memory and storage are measured using multiples of bytes like kilobytes and megabytes. Binary numbers use bits like decimal numbers use digits, with each place value representing increasing powers of two rather than ten. Bytes are commonly used to represent text characters through encoding schemes like ASCII.
The following presentation is a part of the level 4 module -- Digital Logic and Signal Principles. This resources is a part of the 2009/2010 Engineering (foundation degree, BEng and HN) courses from University of Wales Newport (course codes H101, H691, H620, HH37 and 001H). This resource is a part of the core modules for the full time 1st year undergraduate programme.
The BEng & Foundation Degrees and HNC/D in Engineering are designed to meet the needs of employers by placing the emphasis on the theoretical, practical and vocational aspects of engineering within the workplace and beyond. Engineering is becoming more high profile, and therefore more in demand as a skill set, in today’s high-tech world. This course has been designed to provide you with knowledge, skills and practical experience encountered in everyday engineering environments.
In this ppt , you will learn about the evolution of number systems, decimal, binary and hexadecimal and why hexadecima is the most important form of number systems when working with microcontroller programming.
Computer data representation (integers, floating-point numbers, text, images,...ArtemKovera
This document discusses how computers represent different types of data at a low level. It covers binary, octal, and hexadecimal number systems. It also discusses how integers, floating point numbers, text, images, and sound are represented in computer memory in binary format using bits and bytes. Understanding how data is represented is important for programming efficiently and writing secure code.
A number system is a method for writing and representing numbers using digits or symbols in a consistent way. It allows unique representation of numbers and performing arithmetic operations. The main types of number systems are decimal, binary, octal, and hexadecimal, which use bases of 10, 2, 8, and 16 respectively. Number systems are used daily for tasks like making phone calls, budgeting, cooking, using elevators, shopping, and more. [/SUMMARY]
This book's author is Zafar Ali Khan .
It consists of all the topics of As Level Computer Science topics that are required to be covered.
All credits goes to Zafar Ali Khan .
The document discusses different number systems used in mathematics. It begins by explaining that a number system is defined by its base, or the number of unique symbols used to represent numbers. The most common system is decimal, which uses base-10. Other discussed systems include binary, octal, hexadecimal, and those used historically by cultures like the Babylonians. Rational and irrational numbers are also defined. Rational numbers can be written as fractions of integers, while irrational numbers cannot.
This document discusses analog and digital electronics. It begins by explaining that analog electronics deals with continuous signals while digital electronics deals with discrete signals. It then discusses how digital techniques grew tremendously after 1938 when Claude Shannon systemized George Boole's theoretical work. Finally, it covers various number systems such as binary, decimal, octal, and hexadecimal and how to convert between them.
This document discusses number systems and conversions between number systems. It begins by introducing analog and digital electronics, and analog and digital signals. It then discusses different number systems including binary, decimal, octal and hexadecimal. The main methods covered are:
1) Converting a decimal number to binary, octal or hexadecimal using repeated division and noting the remainders.
2) Converting a binary, octal or hexadecimal number to decimal by multiplying each digit by its place value weight.
3) Conversions can also be done between binary and octal by grouping bits into groups of three.
This document discusses analog and digital electronics. It begins by explaining that analog electronics deals with continuous signals while digital electronics deals with discrete signals. It then discusses how digital techniques grew tremendously after 1938 when Claude Shannon systemized George Boole's theoretical work. Finally, it covers various number systems such as binary, decimal, octal, and hexadecimal and how to convert between them.
This document discusses the history and development of numeral systems. It begins by explaining the key aspects of a numeral system and some of the earliest systems used, such as unary notation. It then describes the development of place-value systems, including the Hindu-Arabic decimal system. Various base systems are covered, such as base-2 (binary), base-5, base-8, base-10, base-12, base-20, and base-60. The document also discusses weighted and non-weighted binary coding systems, including excess-3 code and gray code. The history of binary numbers is outlined, from early concepts developed by ancient Indian and Chinese mathematicians to its modern implementation in digital circuits.
This document provides an overview of the early development of number concepts and arithmetic. It discusses primitive counting methods using tally marks and how this led to more advanced systems like Roman numerals and the Hindu-Arabic number system. Key points covered include:
- Primitive counting involved using tally marks or objects to represent quantities, showing the earliest abstraction of numbers.
- Roman numerals and other early systems represented improvements but were still cumbersome for arithmetic.
- The Hindu-Arabic system introduced the place-value concept, allowing representation of any number using just 10 symbols.
- Early cultures also developed methods for addition, subtraction, multiplication and division, starting from concrete processes and advancing to more abstract algorithms and memorization of tables.
Binary numbers can be represented using only two digits, 0 and 1. The binary system counts in powers of two, with the value of each digit place increasing by a factor of two from right to left. Binary numbers can be converted to other bases like octal and hexadecimal for convenience. Octal uses digits 0-7, grouping binary digits into sets of three. Hexadecimal uses digits 0-9 and letters A-F, grouping binary into sets of four. Converting between number bases involves rewriting the binary number into the appropriate groupings and finding the decimal equivalent of each group.
Binary numbers use only the digits 0 and 1 to represent values. Other numbering systems discussed include octal (base 8) and hexadecimal (base 16). Octal groups binary numbers into sets of 3 digits, while hexadecimal uses groups of 4 binary digits. Conversion between binary, octal, and hexadecimal is demonstrated through examples. Binary addition and subtraction are conceptually similar to decimal but use only 1s and 0s. Two's complement representation is commonly used in microprocessors to represent both positive and negative numbers.
Convert Numbers to Words with Visual Basic.NETDaniel DotNet
The document discusses converting numbers to words in British English. It begins by covering single and two-digit numbers using lookup tables. For three-digit numbers, it distinguishes between cases where the last two digits are 00 or not. It then explains how to handle numbers with more digits by grouping them into threes and applying the rules recursively with powers of 1000 (thousand, million, billion, etc.). Visual Basic code is provided to implement the number-to-words conversion.
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
The document discusses the binary number system used by computers. It begins by explaining how humans developed base-10 numbering based on having 10 fingers, but computers use base-2 binary numbering since transistors can only be on or off (1 or 0). All data in computers is represented as strings of 1s and 0s. It then provides examples of how binary numbers are written and converted to decimal numbers by treating each bit as a power of 2, similar to how decimal numbers treat each digit as a power of 10. Converting between binary and decimal involves writing the binary number as a sum of powers of 2 and adding the place values of bits that are 1.
The document discusses different number systems including decimal, binary, hexadecimal, and octal number systems. It explains the basics of each system, such as the base and place value representation. It also covers how to perform operations like addition, subtraction, and conversion between the different number systems. Converting between binary and hexadecimal involves grouping bits into nibbles (4 bits) or nybbles (3 bits). Subtraction in computers is performed using two's complement by adding the complement of the subtrahend. Understanding number systems is important for computer science topics that involve binary, memory addresses, and color representation.
Computers use binary, which is a base-2 counting system that uses only two digits: 0 and 1. A byte is made up of 8 bits, with each additional bit doubling the number of possible combinations from 2 to 256. Using 8 bits allows a byte to represent the 256 most common characters, including letters, numbers, and punctuation, when typed on a keyboard.
Bits are the basic units of information in computing, representing values of 0 or 1. Bytes consist of 8 bits bundled together, allowing 256 possible values. Computer components like memory and storage are measured using multiples of bytes like kilobytes and megabytes. Binary numbers use bits like decimal numbers use digits, with each place value representing increasing powers of two rather than ten. Bytes are commonly used to represent text characters through encoding schemes like ASCII.
Bits are the basic units of information in computing, representing values of 0 or 1. Bytes consist of 8 bits bundled together, allowing 256 possible values. Computer components like memory and storage are measured using multiples of bytes like kilobytes and megabytes. Binary numbers use bits like decimal numbers use digits, with each place value representing increasing powers of two rather than ten. Bytes are commonly used to represent text characters through encoding schemes like ASCII.
The following presentation is a part of the level 4 module -- Digital Logic and Signal Principles. This resources is a part of the 2009/2010 Engineering (foundation degree, BEng and HN) courses from University of Wales Newport (course codes H101, H691, H620, HH37 and 001H). This resource is a part of the core modules for the full time 1st year undergraduate programme.
The BEng & Foundation Degrees and HNC/D in Engineering are designed to meet the needs of employers by placing the emphasis on the theoretical, practical and vocational aspects of engineering within the workplace and beyond. Engineering is becoming more high profile, and therefore more in demand as a skill set, in today’s high-tech world. This course has been designed to provide you with knowledge, skills and practical experience encountered in everyday engineering environments.
In this ppt , you will learn about the evolution of number systems, decimal, binary and hexadecimal and why hexadecima is the most important form of number systems when working with microcontroller programming.
Computer data representation (integers, floating-point numbers, text, images,...ArtemKovera
This document discusses how computers represent different types of data at a low level. It covers binary, octal, and hexadecimal number systems. It also discusses how integers, floating point numbers, text, images, and sound are represented in computer memory in binary format using bits and bytes. Understanding how data is represented is important for programming efficiently and writing secure code.
A number system is a method for writing and representing numbers using digits or symbols in a consistent way. It allows unique representation of numbers and performing arithmetic operations. The main types of number systems are decimal, binary, octal, and hexadecimal, which use bases of 10, 2, 8, and 16 respectively. Number systems are used daily for tasks like making phone calls, budgeting, cooking, using elevators, shopping, and more. [/SUMMARY]
This book's author is Zafar Ali Khan .
It consists of all the topics of As Level Computer Science topics that are required to be covered.
All credits goes to Zafar Ali Khan .
The document discusses different number systems used in mathematics. It begins by explaining that a number system is defined by its base, or the number of unique symbols used to represent numbers. The most common system is decimal, which uses base-10. Other discussed systems include binary, octal, hexadecimal, and those used historically by cultures like the Babylonians. Rational and irrational numbers are also defined. Rational numbers can be written as fractions of integers, while irrational numbers cannot.
This document discusses analog and digital electronics. It begins by explaining that analog electronics deals with continuous signals while digital electronics deals with discrete signals. It then discusses how digital techniques grew tremendously after 1938 when Claude Shannon systemized George Boole's theoretical work. Finally, it covers various number systems such as binary, decimal, octal, and hexadecimal and how to convert between them.
This document discusses number systems and conversions between number systems. It begins by introducing analog and digital electronics, and analog and digital signals. It then discusses different number systems including binary, decimal, octal and hexadecimal. The main methods covered are:
1) Converting a decimal number to binary, octal or hexadecimal using repeated division and noting the remainders.
2) Converting a binary, octal or hexadecimal number to decimal by multiplying each digit by its place value weight.
3) Conversions can also be done between binary and octal by grouping bits into groups of three.
This document discusses analog and digital electronics. It begins by explaining that analog electronics deals with continuous signals while digital electronics deals with discrete signals. It then discusses how digital techniques grew tremendously after 1938 when Claude Shannon systemized George Boole's theoretical work. Finally, it covers various number systems such as binary, decimal, octal, and hexadecimal and how to convert between them.
This document discusses the history and development of numeral systems. It begins by explaining the key aspects of a numeral system and some of the earliest systems used, such as unary notation. It then describes the development of place-value systems, including the Hindu-Arabic decimal system. Various base systems are covered, such as base-2 (binary), base-5, base-8, base-10, base-12, base-20, and base-60. The document also discusses weighted and non-weighted binary coding systems, including excess-3 code and gray code. The history of binary numbers is outlined, from early concepts developed by ancient Indian and Chinese mathematicians to its modern implementation in digital circuits.
This document provides an overview of the early development of number concepts and arithmetic. It discusses primitive counting methods using tally marks and how this led to more advanced systems like Roman numerals and the Hindu-Arabic number system. Key points covered include:
- Primitive counting involved using tally marks or objects to represent quantities, showing the earliest abstraction of numbers.
- Roman numerals and other early systems represented improvements but were still cumbersome for arithmetic.
- The Hindu-Arabic system introduced the place-value concept, allowing representation of any number using just 10 symbols.
- Early cultures also developed methods for addition, subtraction, multiplication and division, starting from concrete processes and advancing to more abstract algorithms and memorization of tables.
Binary numbers can be represented using only two digits, 0 and 1. The binary system counts in powers of two, with the value of each digit place increasing by a factor of two from right to left. Binary numbers can be converted to other bases like octal and hexadecimal for convenience. Octal uses digits 0-7, grouping binary digits into sets of three. Hexadecimal uses digits 0-9 and letters A-F, grouping binary into sets of four. Converting between number bases involves rewriting the binary number into the appropriate groupings and finding the decimal equivalent of each group.
Binary numbers use only the digits 0 and 1 to represent values. Other numbering systems discussed include octal (base 8) and hexadecimal (base 16). Octal groups binary numbers into sets of 3 digits, while hexadecimal uses groups of 4 binary digits. Conversion between binary, octal, and hexadecimal is demonstrated through examples. Binary addition and subtraction are conceptually similar to decimal but use only 1s and 0s. Two's complement representation is commonly used in microprocessors to represent both positive and negative numbers.
Convert Numbers to Words with Visual Basic.NETDaniel DotNet
The document discusses converting numbers to words in British English. It begins by covering single and two-digit numbers using lookup tables. For three-digit numbers, it distinguishes between cases where the last two digits are 00 or not. It then explains how to handle numbers with more digits by grouping them into threes and applying the rules recursively with powers of 1000 (thousand, million, billion, etc.). Visual Basic code is provided to implement the number-to-words conversion.
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving
What began over 115 years ago as a supplier of precision gauges to the automotive industry has evolved into being an industry leader in the manufacture of product branding, automotive cockpit trim and decorative appliance trim. Value-added services include in-house Design, Engineering, Program Management, Test Lab and Tool Shops.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
AppSec PNW: Android and iOS Application Security with MobSFAjin Abraham
Mobile Security Framework - MobSF is a free and open source automated mobile application security testing environment designed to help security engineers, researchers, developers, and penetration testers to identify security vulnerabilities, malicious behaviours and privacy concerns in mobile applications using static and dynamic analysis. It supports all the popular mobile application binaries and source code formats built for Android and iOS devices. In addition to automated security assessment, it also offers an interactive testing environment to build and execute scenario based test/fuzz cases against the application.
This talk covers:
Using MobSF for static analysis of mobile applications.
Interactive dynamic security assessment of Android and iOS applications.
Solving Mobile app CTF challenges.
Reverse engineering and runtime analysis of Mobile malware.
How to shift left and integrate MobSF/mobsfscan SAST and DAST in your build pipeline.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
01 number systems-students
1. 1
Chapter 1
The Binary Number System
1. Why Binary?
The number system that you are familiar with, that you use every day, is the decimal number system, also
commonly referred to as the base-10 system. When you perform computations such as 3 + 2 = 5, or 21 –
7 = 14, you are using the decimal number system. This system, which you likely learned in first or second
grade, is ingrained into your subconscious; it’s the natural way that you think about numbers. Of course it
is not just you: It is the way that everyone thinks—and has always thought—about numbers and
arithmetic. Evidence exists that Egyptians were using a decimal number system five thousand years ago.
The Roman numeral system, predominant for hundreds of years, was also a decimal number system
(though organized differently from the Arabic base-10 number system that we are most familiar with).
Indeed, base-10 systems, in one form or another, have been the most widely used number systems ever
since civilization started counting.
In dealing with the inner workings of a computer, though, you are going to have to learn to think in a
different number system, the binary number system, also referred to as the base-2 system.
Before considering why we might want to use a different number system, let’s first consider: Why do we
use base-10? The simple answer: We have 10 fingers. Before the days of calculators and computers, we
counted on our hands (many of us still do!).
Consider a child counting a pile of pennies. He would begin: “One, two, three, …, eight, nine.” Upon
reaching nine, the next penny counted makes the total one single group of ten pennies. He then keeps
counting: “One group of ten pennies… two groups of ten pennies… three groups of ten pennies … eight
groups of ten pennies … nine groups of ten pennies…” Upon reaching nine groups of ten pennies plus
nine additional pennies, the next penny counted makes the total thus far: one single group of one hundred
pennies. Upon completing the task, the child might find that he has three groups of one hundred pennies,
five groups of ten pennies, and two pennies left over: 352 pennies.
More formally, the base-10 system is a positional system, where the rightmost digit is the ones position
(the number of ones), the next digit to the left is the tens position (the number of groups of 10), the next
digit to the left is the hundreds position (the number of groups of 100), and so forth. The base-10 number
system has 10 distinct symbols, or digits (0, 1, 2, 3,…8, 9). In decimal notation, we write a number as a
string of symbols, where each symbol is one of these ten digits, and to interpret a decimal number, we
multiply each digit by the power of 10 associated with that digit’s position.
For example, consider the decimal number: 6349. This number is:
6 3 4 9 = 6 10 3 10 4 10 9 103 2 1 0
⋅ + ⋅ + ⋅ + ⋅
103
102
101
100
position position position position
(i.e., thousands position) (i.e., hundreds position) (i.e., tens position) (i.e., ones position)
2. 2
There is nothing essentially “easier” about using the base-10 system. It just seems more intuitive only
because it is the only system that you have used extensively, and, again, the fact that it is used extensively
is due to the fact that humans have 10 fingers. If humans had six fingers, we would all be using a base-6
system, and we would all find that system to be the most intuitive and natural.
So, long ago, humans looked at their hands, saw ten fingers, and decided to use a base-10 system. But
how many fingers does a computer have?
Consider: Computers are built from transistors, and an individual transistor can only be ON or OFF (two
options). Similarly, data storage devices can be optical or magnetic. Optical storage devices store data in
a specific location by controlling whether light is reflected off that location or is not reflected off that
location (two options). Likewise, magnetic storage devices store data in a specific location by
magnetizing the particles in that location with a specific orientation. We can have the north magnetic pole
pointing in one direction, or the opposite direction (two options).
Computers can most readily use two symbols, and therefore a base-2 system, or binary number system, is
most appropriate. The base-10 number system has 10 distinct symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9. The
base-2 system has exactly two symbols: 0 and 1. The base-10 symbols are termed digits. The base-2
symbols are termed binary digits, or bits for short. All base-10 numbers are built as strings of digits (such
as 6349). All binary numbers are built as strings of bits (such as 1101). Just as we would say that the
decimal number 12890 has five digits, we would say that the binary number 11001 is a five-bit number.
The point: All data in a computer is represented in binary. The pictures of your last vacation stored on
your hard drive—it’s all bits. The YouTube video of the cat falling off the chair that you saw this
morning—bits. Your Facebook page—bits. The tweet you sent—bits. The email from your professor
telling you to spend less time on vacation, browsing YouTube, updating your Facebook page and sending
tweets—that’s bits too. Everything is bits.
To understand how computers work, you have to speak the language. And the language of computers is
the binary number system.
2. The Binary Number System
Consider again the example of a child counting a pile of pennies, but this time in binary. He would begin
with the first penny: “1.” The next penny counted makes the total one single group of two pennies. What
number is this?
When the base-10 child reached nine (the highest symbol in his scheme), the next penny gave him “one
group of ten”, denoted as 10, where the “1” indicated one collection of ten. Similarly, when the base-2
child reaches one (the highest symbol in his scheme), the next penny gives him “one group of two”,
denoted as 10, where the “1” indicates one collection of two.
Back to the base-2 child: The next penny makes one group of two pennies and one additional penny:
“11.” The next penny added makes two groups of two, which is one group of 4: “100.” The “1” here
indicates a collection of two groups of two, just as the “1” in the base-10 number 100 indicates ten groups
of ten.
Upon completing the counting task, base-2 child might find that he has one group of four pennies, no
groups of two pennies, and one penny left over: 101 pennies. The child counting the same pile of pennies
3. 3
in base-10 would conclude that there were 5 pennies. So, 5 in base-10 is equivalent to 101 in base-2. To
avoid confusion when the base in use if not clear from the context, or when using multiple bases in a
single expression, we append a subscript to the number to indicate the base, and write:
10 25 101=
Just as with decimal notation, we write a binary number as a string of symbols, but now each symbol is a
0 or a 1. To interpret a binary number, we multiply each digit by the power of 2 associated with that
digit’s position.
For example, consider the binary number 1101. This number is:
1 1 0 1 = 3 2 1 0
101 2 1 2 0 2 1 2 13⋅ + ⋅ + ⋅ + ⋅ =
23
22
21
20
position position position position
(i.e., eights position) (i.e., fours position) (i.e., twos position) (i.e., ones position)
Since binary numbers can only contain the two symbols 0 and 1, numbers such as 25 and 1114000 cannot
be binary numbers.
We say that all data in a computer is stored in binary—that is, as 1’s and 0’s. It is important to keep in
mind that values of 0 and 1 are logical values, not the values of a physical quantity, such as a voltage. The
actual physical binary values used to store data internally within a computer might be, for instance, 5 volts
and 0 volts, or perhaps 3.3 volts and 0.3 volts or perhaps reflection and no reflection. The two values that
are used to physically store data can differ within different portions of the same computer. All that really
matters is that there are two different symbols, so we will always refer to them as 0 and 1.
A string of eight bits (such as 11000110) is termed a byte. A collection of four bits (such as 1011) is
smaller than a byte, and is hence termed a nibble. (This is the sort of nerd-humor for which engineers are
famous.)
The idea of describing numbers using a positional system, as we have illustrated for base-10 and base-2,
can be extended to any base. For example, the base-4 number 231 is:
2 3 1 = 2 1 0
102 4 3 4 1 4 45⋅ + ⋅ + ⋅ =
2
4 1
4 0
4
position position position
(i.e., sixteens position) (i.e., fours position) (i.e., ones position)
4. 4
3. Converting Between Binary Numbers and Decimal Numbers
We humans about numbers using the decimal number system, whereas computers use the binary number
system. We need to be able to readily shift between the binary and decimal number representations.
Converting a Binary Number to a Decimal Number
To convert a binary number to a decimal number, we simply write the binary number as a sum of powers
of 2. For example, to convert the binary number 1011 to a decimal number, we note that the rightmost
position is the ones position and the bit value in this position is a 1. So, this rightmost bit has the decimal
value of 0
1 2⋅ . The next position to the left is the twos position, and the bit value in this position is also a
1. So, this next bit has the decimal value of 1
1 2⋅ . The next position to the left is the fours position, and
the bit value in this position is a 0. The leftmost position is the eights position, and the bit value in this
position is a 1. So, this leftmost bit has the decimal value of 3
1 2⋅ . Thus:
3 2 1 0
2 101011 1 2 0 2 1 2 1 2 8 2 1 11= ⋅ + ⋅ + ⋅ + ⋅ = + + =
Example
Express the binary number 110110 as a decimal number.
Solution: 5 4 3 2 1 0
2 10110110 1 2 1 2 0 2 1 2 1 2 0 2 54= ⋅ + ⋅ + ⋅ + ⋅ + ⋅ + ⋅ =
As a shorthand means of converting a binary number to a decimal number, simply write the position value
below each bit (i.e., write a “1” below the rightmost bit, then a “2” below the next bit to the left, then a “4”
below the next bit to the left, etc.), and then add the position values for those bits that have a value of 1.
For example, to convert the binary number 10101 to decimal, we annotate the position values below the
bit values:
1 0 1 0 1
16 8 4 2 1
Then we add the position values for those positions that have a bit value of 1: 16 + 4 + 1 = 21. Thus
2 1010101 21=
Example
Express the binary number 100000 as a decimal number.
Solution:
1 0 0 0 0 0
32 16 8 4 2 1
The only position that has a bit value of 1 is the position corresponding to 32. Thus 2 10100000 32=
5. 5
Given a binary number, you can now convert it to the equivalent decimal number. We will now present
two different methods for converting in the other direction: from decimal to binary. The first method is
more intuitive. The second method is much more readily adaptable to programming on a computer.
Converting a Decimal Number to a Binary Number: Method 1
The first method of converting from a decimal number to a binary number entails expressing the decimal
number as a sum of powers of 2. To convert the decimal number x to binary:
Step 1. Find the highest power of two less than or equal to x. The binary representation will have a one
in this position. Denote the value of this highest power of 2 as y.
Step 2. Now subtract this power of two (y) from the decimal number (x), denoting the result as z:
.z x y= −
Step 3. If 0z = , you are done. Otherwise, let x z= and return to Step 1 above.
Example
Convert the decimal number 78 to binary.
Solution: Think to yourself: “Self, what is the largest power of 2 that is less than or equal to 78?”
5
2 32= is a power of 2 that is less than 78, but is it the largest? Let’s try 6
2 .
6
2 64= is a power of 2 that is less than 78, but is it the largest? Let’s try 7
2 .
7
2 128= is a power of 2 larger than 78.
So, the largest power of 2 that is less than 78 is 6
2 . Thus the binary representation of 78 will have a one
in the 6
2 64= position:
1
____________ ___________ ____________ ___________ __________ _________ ________
6
2 64= 5
2 32= 4
2 16= 3
2 8= 2
2 4= 1
2 2= 0
2 1=
Subtracting 64 from our number 78 gives 78 64 14− =. Thus, 14 is now the number we are working with.
What is the largest power of 2 that is less than or equal to 14?
The answer: 3
2 8= . So, the binary representation of 78 will have a one in the 3
2 8= position:
1 1
____________ ___________ ____________ ___________ __________ _________ ________
6
2 64= 5
2 32= 4
2 16= 3
2 8= 2
2 4= 1
2 2= 0
2 1=
6. 6
Now, subtracting 8 from our number 14 gives 14 8 6− =. Thus, 6 is now the number we are working with.
What is the largest power of 2 that is less than or equal to 6?
The answer: 2
2 4= . So, the binary representation of 78 will have a one in the 2
2 4= position:
1 1 1
____________ ___________ ____________ ___________ __________ _________ ________
6
2 64= 5
2 32= 4
2 16= 3
2 8= 2
2 4= 1
2 2= 0
2 1=
Now, subtracting 4 from our number 6 gives 6 4 2− =. Thus, 2 is now the number we are working with.
What is the largest power of 2 that is less than or equal to 2?
The answer: 1
2 2= . So, the binary representation of 78 will have a one in the 1
2 2= position:
1 1 1 1
____________ ___________ ____________ ___________ __________ _________ ________
6
2 64= 5
2 32= 4
2 16= 3
2 8= 2
2 4= 1
2 2= 0
2 1=
Now, subtracting 2 from our number 2 gives 0, so we are done. Filling in zeros in all remaining position
(i.e., all positions that do not have a 1), we have our answer: The decimal number 78 in binary is
1 0 0 1 1 1 0
____________ ___________ ____________ ___________ __________ _________ ________
6
2 64= 5
2 32= 4
2 16= 3
2 8= 2
2 4= 1
2 2= 0
2 1=
or, 10 278 1001110=
Example
Convert the decimal number 201 to binary.
Solution:
The largest power of 2 less than or equal to 201 is 7
2 128= , so there will be a 1 in the 7
2 position.
Subtracting 128 from 201 leaves 73.
The largest power of 2 less than or equal to 73 is 6
2 64= , so there will also be a 1 in the 6
2 position.
Subtracting 64 from 73 leaves 9. The largest power of 2 less than 9 is 3
2 8= , so there will be a 1 in the
3
2 position.
Subtracting 8 from 9 leaves 1, so there is a 1 in the 0
2 position.
Subtracting 1 from 1 leaves 0, and we’re done. Filling in zeros, we see that the binary equivalent of 201
is:
1 1 0 0 1 0 0 1
____________ ___________ ___________ ___________ ___________ ___________ ___________ ___________
7
2 128= 6
2 64= 5
2 32= 4
2 16= 3
2 8= 2
2 4= 1
2 2= 0
2 1=
7. 7
You should “memorize” the binary representations of the decimal digits 0 through 15 shown below.
You may be wondering about the leading zeros in the table above. For example, the decimal number 5 is
represented in the table as the binary number 0101. We could have represented the binary equivalent of 5
as 101, 00101, 0000000101, or with any other number of leading zeros. All answers are correct.
Sometimes, though, you will be given the size of a storage location. When you are given the size of the
storage location, include the leading zeros to show all bits in the storage location. For example, if told to
represent decimal 5 as an 8-bit binary number, your answer should be 00000101.
Converting a Decimal Number to a Binary Number: Method 2
The second method of converting a decimal number to a binary number entails repeatedly dividing the
decimal number by 2, keeping track of the remainder at each step. To convert the decimal number x to
binary:
Step 1. Divide x by 2 to obtain a quotient and remainder. The remainder will be 0 or 1.
Step 2. If the quotient is zero, you are finished: Proceed to Step 3. Otherwise, go back to Step 1,
assigning x to be the value of the most-recent quotient from Step 1.
Step 3. The sequence of remainders forms the binary representation of the number.
Example
Convert the decimal number 53 to binary using the second method described above.
Solution:
Decimal Number Binary Number
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
Decimal Number Binary Number
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
8. 8
We divide 53 by 2, resulting in a quotient of 26 with a remainder of 1. We now repeat the process with the new
quotient: We divide 26 by 2, resulting in a quotient of 13 and a remainder of 0. We continue this repeated
division by 2, until the quotient is equal to zero. The sequence of remainders forms the binary equivalent
of the decimal number 53. The full set of calculations is shown below.
Remainder
2 | 53
| 26 1
| 13 0
| 6 1
| 3 0
| 1 1
| 0 1
So, in binary, 53 = 1 1 0 1 0 1
Note that the remainder from the very first division of the decimal number by two provides the least
significant bit (i.e., the rightmost bit) in the binary representation. The remainder from each division then
provides successive bits, from right to left. The remainder of the final division (which will always be 1)
will provide the most significant bit (i.e., the rightmost bit) in the binary representation.
Example
Convert the decimal number 201 to binary.
Solution: The full set of calculations is shown below.
Remainder
2 | 201
| 100 1
| 50 0
| 25 0
| 12 1
| 6 0
| 3 0
| 1 1
| 0 1
So, in binary, 201 = 1 1 0 0 1 0 0 1
So, now you should be comfortable going back and forth between binary and decimal representations.
9. 9
Decimal number Binary number
Given a decimal number, convert it to binary
Given a binary number, convert it to decimal
4. The Hexadecimal Number System
We often have to deal with large positive binary numbers. For instance, consider that computers connect
to the Internet using a Network Interface Card (NIC). Every NIC in the world is assigned a unique 48-bit
identifier as an Ethernet address. The intent is that no two NICs in the world will have the same address.
A sample Ethernet address might be:
000000000100011101011110011111111001001000110110
As another example, computer engineers must oftentimes look at the contents of a specific item in
computer memory. You might, for instance, have to look at a variable that is stored at address:
00000000000100101111111101111100
You would probably agree that these long binary strings would be cumbersome to transcribe or to read off
to a coworker. Even if you have come to love the binary number system, you would still likely agree that
these long strings are too much of a good thing.
Fortunately, large binary numbers can be made much more compact—and hence easier to work with—if
represented in base-16, the so-called hexadecimal number system. You may wonder: Binary numbers
would also be more compact if represented in base-10—why not just convert them to decimal? The
answer, as you will soon see, is that converting between binary and hexadecimal is exceedingly easy—
much easier than converting between binary and decimal.
The Hexadecimal Number System
The base-16 hexadecimal number system has 16 digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E and F).
Note that the single hexadecimal symbol A is equivalent to the decimal number 10, the single symbol B is
equivalent to the decimal number 11, and so forth, with the symbol F being equivalent to the decimal
number 15. The first 16 numbers in the decimal, binary, and hexadecimal number systems are listed in the
following table.
10. 10
Just as with decimal notation or binary notation, we again write a number as a string of symbols, but now
each symbol is one of the 16 possible hexadecimal digits (0 through F). To interpret a hexadecimal
number, we multiply each digit by the power of 16 associated with that digit’s position.
For example, consider the hexadecimal number 1A9B. Indicating the values associated with the positions
of the symbols, this number is illustrated as:
1 A 9 B
3
16 2
16 1
16 0
16
position position position position
Converting a Hexadecimal Number to a Decimal Number
To convert a hexadecimal number to a decimal number, write the hexadecimal number as a sum of powers
of 16. For example, considering the hexadecimal number 1A9B above, we convert this to decimal as:
1A9B = ( ) ( ) ( ) ( )3 2 1 0
1 16 16 9 16 16A B+ + + = 4096 + 10(256) + 9(16) + 11(1) = 6811
Example
11. 11
Express the hexadecimal number 3CB as a decimal number.
Solution: 3CB = 3 16 12 16 11 162 1 0
⋅ + ⋅ + ⋅ = 971
Converting a Decimal Number to a Hexadecimal Number
The easiest way to convert from decimal to hexadecimal is to use the same division algorithm that you
used to convert from decimal to binary, but repeatedly dividing by 16 instead of by 2. As before, we keep
track of the remainders, and the sequence of remainders forms the hexadecimal representation.
For example, to convert the decimal number 746 to hexadecimal, we proceed as follows:
Remainder
16 | 746
| 46 A
| 2 E
| 0 2
2EA
So, the decimal number 746 = 2EA in hexadecimal
Note that with hexadecimal notation, as with binary and decimal notation, we must be careful that the base
is understood. When we speak of the number “23”, do we mean the decimal number 23 (in base 10), or
do we mean the hexadecimal number 23 (which happens to equal 35 in base 10)? If the base is not clear
from the context, it can be made explicit by including the base as a subscript as in: 16 1023 35= . Some
texts use the prefix 0x to indicate that a number is hexadecimal. That is, instead of writing 1623 some
texts will use the notation 0x23.
You may be happy to learn that, as a practical matter, engineers rarely have to convert between decimal
and hexadecimal (exams administered by sadistic professors being one of those rare instances!).
Converting a Hexadecimal Number to a Binary Number
Engineers often have to convert between binary and hexadecimal but, as we promised, that is quite simple
to do.
We can convert directly from hexadecimal notation to the equivalent binary representation by using the
following procedure:
• Convert each hexadecimal digit to a four digit binary number, independent of the other
hexadecimal digits.
• Concatenate the resulting four-bit binary numbers together.
12. 12
For example, to convert the hexadecimal number 4DA9 to binary, we first convert each hexadecimal digit
to a four-bit string:
4 = 0100 D = 1101 A = 1010 9 = 1001
and then concatenate the results: The resulting binary number is: 0100 1101 1010 1001. We can
drop leading zeros (from the leftmost quartet only!), giving us:
4DA9 = 100110110101001
Example
Convert the hexadecimal number 13F to binary.
Solution: 1 = 0001 3 = 0011 F = 1111
Thus 13F = 1 0011 1111
Converting a Binary Number to a Hexadecimal Number
Converting from binary to hexadecimal entails reversing the procedure for converting from hexadecimal
to binary. Specifically, we can convert directly from binary notation to the equivalent hexadecimal
representation by using the following procedure:
• Starting at the right, collect the bits in groups of 4
• Convert each group of 4 bits into the equivalent hexadecimal digit
• Concatenate the resulting hexadecimal digits
For example, to convert 110110101001 to hexadecimal, we collect the bits into groups of 4 starting at
the right: 1101 1010 1001, and then we convert each collection of bits into a hexadecimal digit:
1101 1010 1001
D A 9
Thus 110110101001 = DA9
Example
Convert the binary number 110101001 to hexadecimal.
Solution: 1 1010 1001
1 A 9 = 1A9
Do you see why when you pair bits into groups of 4 you need to start at the right?
Example
Suppose the first byte of a variable is stored at memory location numbered:
0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0
We say that this memory location is the address of the variable. What is this variable’s address in hexadecimal
notation?
13. 13
Solution: 0000 0000 0001 0010 1111 1111 0111 1100
0 0 1 2 F F 7 C
= 0012FF7C
Again, the hexadecimal number system simply provides us with a more convenient means of conveying
binary quantities. Instead of saying “The item is at address 1001000100111111”, we can say “The
item is at address 913F.”
Example
Suppose you are told that an item is at 32-bit address C356A20C. What is the value of the fourth bit in this
address, counting from the left?
Solution:
Since the first hexadecimal digit is C, the first four bits are 1100. Thus, the fourth bit is a zero.
Note how more difficult this question would have been if the address was provided in base-10 instead of
in base-16.
So, now you should be comfortable going back and forth between binary, decimal and hex
representations.
14. 14
Problems
1. Convert the following binary numbers to decimal number:
(a) 10101
(b) 11001
(c) 100000
(d) 111111
2. Convert the following decimal numbers to binary:
(a) 50
(b) 100
(c) 128
(d) 500
3. Convert the following binary number to hexadecimal:
(a) 10110010101001001
(b) 10000000001
(c) 1111111
(d) 110011
4. Convert the following hexadecimal numbers to binary:
(a) ABCD
(b) 111111
(c) 101
(d) 23AC