Math For Programmers
This course covers the maths behind how your computer stores and manipulates data. You'll learn how to read binary and hexadecimal, how both integers and floating point numbers are stored and the limitations of using them. Advice on best practices and how to work effectively with boolean values and bitwise operators.
What you'll learn
Have you ever wondered exactly why displaying the contents of memory often gives strange-looking numbers like 0x38FF that contain letters? Or puzzled over a time when your code added two floating point numbers but the result wasn't quite correct? If so, then this is the course for you.
This course aims to teach you the mathematics behind how computers store and manipulate numbers and booleans. You'll learn, amongst other things:
- How to read binary and hexadecimal numbers
- Why floating point numbers are almost always stored with small errors
- How to estimate how big those errors are
The course also features lots of advice on best practices for working with numerical and boolean data. Underpinning all this, you'll learn how to see your data the way a computer sees it. When your job involves writing or debugging code that manipulates millions of bytes of data, that is a very useful skill to have.
Table of contents
- Overview 2m
- Types of Number 2m
- Understanding Decimals 4m
- Why Decimals are Inaccurate 9m
- Fixed Point Numbers 7m
- Scientific Notation 9m
- IEEE754: How Floating Points are Stored 13m
- Zero and Subnormal Numbers 12m
- Infinities and Not-A-Number 7m
- Equality Comparisons 11m
- Software-Implemented Types 5m
- Best Practices 1m
- Summary 1m
In this course you will learn about:
- How data is stored in computers
- How to read and understand binary
- How to read and understand hexadecimal code
- Integers and floating point numbers
- How to work with boolean values
- How to work with bitwise operators
- Arithmetic and error propagation
- Much more
Binary is a number system made up of only 0s and 1s, which represent "off" or "on" respectively. This allows numbers to be represented physically inside the computer, which makes it possible for the device to perform calculation. Binary is used to write data, like instructions for the computer processor.
Hexadecimal, or hex, is a number system that uses 16 as its base, rather than 10. Rather than just using the digits 0-9, it also uses letters A-F to represent values of ten to fifteen. Hexadecimal simplifies how binary is represented, so an 8-bit binary number becomes a 2-digit hex number.
This course is for anyone who wants to learn the mathematics behind how computers store and manipulate numbers and booleans! It is also great if you are trying to learn how to read binary and hexadecimal numbers.
There are no strict prerequisites to this course, but it is intermediate level material, so come prepared to exercise those mental muscles!