<jupyter_start><jupyter_text>**Note**: Click on "*Kernel*" > "*Restart Kernel and Clear All Outputs*" in [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/) *before* reading this notebook to reset its output. If you cannot run this file on your machine, you may want to open it [in the cloud ](https://mybinder.org/v2/gh/webartifex/intro-to-python/develop?urlpath=lab/tree/05_numbers/06_resources.ipynb).  Chapter 5: Numbers & Bits (Further Resources)  Working with Bits The two videos below show how addition and multiplication works with numbers in their binary representations. Subtraction is a bit more involved as we need to understand how negative numbers are represented in binary with the concept of [Two's Complement ](https://en.wikipedia.org/wiki/Two%27s_complement) first. A video on that is shown further below. Division in binary is actually also quite simple.<jupyter_code>from IPython.display import YouTubeVideo
YouTubeVideo("RgklPQ8rbkg", width="60%")
YouTubeVideo("xHWKYFhhtJQ", width="60%")<jupyter_output><empty_output><jupyter_text>The video below explains the idea behind [Two's Complement ](https://en.wikipedia.org/wiki/Two%27s_complement). This is how most modern programming languages implement negative integers. The video also shows how subtraction in binary works.<jupyter_code>YouTubeVideo("4qH4unVtJkE", width="60%")<jupyter_output><empty_output><jupyter_text>The Intuition behind Floating Point Numbers This video by the YouTube channel [Computerphile](https://www.youtube.com/channel/UC9-y-6csu5WGm29I7JiwpnA) explains floating point numbers in an intuitive way with some numeric examples.<jupyter_code>YouTubeVideo("PZRI1IfStY0", width="60%")<jupyter_output><empty_output><jupyter_text>An Introduction to Complex Numbers Below is a short introduction to [complex numbers ](https://en.wikipedia.org/wiki/Complex_number) by [MIT](https://www.mit.edu) professor [<NAME> ](https://en.wikipedia.org/wiki/Gilbert_Strang) aimed at high school students.<jupyter_code>YouTubeVideo("Jkv-55ndVYY", width="60%")<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10526315789473684, 'fraction_numerical': 0.0159343312409464, 'mean_word_length': 6.818867924528302, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 19, 'https://': 8, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '625946', 'license': 'MIT', 'n_tokens_mistral': 663, 'n_tokens_neox': 622, 'n_words': 192, 'path': '05_numbers/06_resources.ipynb', 'repo_name': 'jads-nl/intro-to-python', 'size': '2079'}