summaryrefslogtreecommitdiff
path: root/Electrical_and_Electronic_Systems_by_Neil_Storey/Chapter9.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Electrical_and_Electronic_Systems_by_Neil_Storey/Chapter9.ipynb')
-rw-r--r--Electrical_and_Electronic_Systems_by_Neil_Storey/Chapter9.ipynb418
1 files changed, 418 insertions, 0 deletions
diff --git a/Electrical_and_Electronic_Systems_by_Neil_Storey/Chapter9.ipynb b/Electrical_and_Electronic_Systems_by_Neil_Storey/Chapter9.ipynb
new file mode 100644
index 00000000..489ec875
--- /dev/null
+++ b/Electrical_and_Electronic_Systems_by_Neil_Storey/Chapter9.ipynb
@@ -0,0 +1,418 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 9: Digital Electronics"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.8, Page 176"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Decimal Equivalent = 26.000000\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialization\n",
+ "ni1=11010 #binary number\n",
+ "\n",
+ "#Calculation\n",
+ "def binary_decimal(ni): # Function to convert binary to decimal\n",
+ " deci = 0;\n",
+ " i = 0;\n",
+ " while (ni != 0):\n",
+ " rem = ni-int(ni/10.)*10\n",
+ " ni = int(ni/10.);\n",
+ " deci = deci + rem*2**i;\n",
+ " i = i + 1;\n",
+ " return deci\n",
+ "\n",
+ "w=binary_decimal(ni1) #calling the function\n",
+ "\n",
+ "#Declaration\n",
+ "print'Decimal Equivalent = %f'%w"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.9, Page 176"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Binary Equivalent = 11010\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialization\n",
+ "ni1=26 #Decimal number\n",
+ "\n",
+ "#Calculation\n",
+ "def decimal_binary(ni): # Function to convert decimal to binary\n",
+ " bini = 0;\n",
+ " i = 1;\n",
+ " while (ni != 0):\n",
+ " rem = ni-int(ni/2)*2; \n",
+ " ni = int(ni/2);\n",
+ " bini = bini + rem*i;\n",
+ " i = i * 10;\n",
+ " return bini\n",
+ "\n",
+ "w=decimal_binary(ni1) #calling the function\n",
+ "\n",
+ "#Declaration\n",
+ "print'Binary Equivalent = %d'%w"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.10, Page 177"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Decimal equivalent of 34.6875 = 100010.1011\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initializaton\n",
+ "\n",
+ "no=34.6875 #decimal number\n",
+ "n_int = int(no); # Extract the integral part\n",
+ "n_frac = no-n_int; # Extract the fractional part\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "def decimal_binary(ni): # Function to convert decimal to binary\n",
+ " bini = 0;\n",
+ " i = 1;\n",
+ " while (ni != 0):\n",
+ " rem = ni-int(ni/2)*2; \n",
+ " ni = int(ni/2);\n",
+ " bini = bini + rem*i;\n",
+ " i = i * 10;\n",
+ " return bini\n",
+ "\n",
+ "def decifrac_binfrac(nf): # Function to convert binary fraction to decimal fraction\n",
+ " binf = 0; i = 0.1;\n",
+ " while (nf != 0):\n",
+ " nf = nf*2;\n",
+ " rem = int(nf); \n",
+ " nf = nf-rem;\n",
+ " binf = binf + rem*i;\n",
+ " i = i/10;\n",
+ " return binf\n",
+ "\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print \"Decimal equivalent of 34.6875 = %.4f\"%(decimal_binary(n_int)+decifrac_binfrac(n_frac))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.11, Page 177"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "W = 40979\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initialization\n",
+ "n='A013' #Hex number \n",
+ "\n",
+ "#Calculation\n",
+ "w=int(n, 16) #Hex to Decimal Coversion\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print'W = %d'%w"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.12, Page 178"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The hexadecimal equivalent of 7046 is 0x1b86\n"
+ ]
+ }
+ ],
+ "source": [
+ "\n",
+ "#Variable declaration\n",
+ "n=7046 #Hex number \n",
+ "\n",
+ "#Calculations\n",
+ "h = hex(n) #decimal to hex conversion\n",
+ "\n",
+ "#Result\n",
+ "print \"The hexadecimal equivalent of 7046 is\",h"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.13, Page 178"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Decimal equivalent of 34.6875 = 1111100001010001\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initializaton\n",
+ "\n",
+ "n='f851' #Hex Number\n",
+ "\n",
+ "#Calculation\n",
+ "\n",
+ "w=int(n, 16) #Hex to Decimal Coversion\n",
+ "\n",
+ "def decimal_binary(ni): # Function to convert decimal to binary\n",
+ " bini = 0;\n",
+ " i = 1;\n",
+ " while (ni != 0):\n",
+ " rem = ni-int(ni/2)*2; \n",
+ " ni = int(ni/2);\n",
+ " bini = bini + rem*i;\n",
+ " i = i * 10;\n",
+ " return bini\n",
+ "\n",
+ "\n",
+ "w1=decimal_binary(w) #calling the function\n",
+ "\n",
+ "\n",
+ "#Result\n",
+ "print \"Decimal equivalent of 34.6875 = %.d\"%(w1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.14, Page 179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The hexadecimal equivalent of 111011011000100 is 0x76c4\n"
+ ]
+ }
+ ],
+ "source": [
+ "#Initialiation\n",
+ "ni1=111011011000100 #binary number\n",
+ "\n",
+ "#Calculation\n",
+ "def binary_decimal(ni): # Function to convert binary to decimal\n",
+ " deci = 0;\n",
+ " i = 0;\n",
+ " while (ni != 0):\n",
+ " rem = ni-int(ni/10.)*10\n",
+ " ni = int(ni/10.);\n",
+ " deci = deci + rem*2**i;\n",
+ " i = i + 1;\n",
+ " return deci\n",
+ "\n",
+ "w=binary_decimal(ni1) #calling the function\n",
+ "h = hex(w) #decimal to hex conversion\n",
+ "\n",
+ "#Result\n",
+ "print \"The hexadecimal equivalent of 111011011000100 is\",h"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": false
+ },
+ "source": [
+ "## Example 9.15, Page 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Eqivalent BCD of 72 = 1001010001010000\n"
+ ]
+ }
+ ],
+ "source": [
+ "#initialisation\n",
+ "x='9450' #decimal number to be convert\n",
+ "\n",
+ "#calculation\n",
+ "digits = [int(c) for c in x]\n",
+ "zero_padded_BCD_digits = [format(d, '04b') for d in digits]\n",
+ "\n",
+ "#results\n",
+ "print \"Eqivalent BCD of 72 = \",\n",
+ "print ''.join(zero_padded_BCD_digits)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9.16, Page 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The equivalent decimal =3876.\n"
+ ]
+ }
+ ],
+ "source": [
+ "\n",
+ "#Initialisation\n",
+ "BCD=\"0011 1000 0111 0110\" #Given BCD string\n",
+ "BCD_split=BCD.split(\" \"); #Splitting th binary string into individual BCD \n",
+ "d=0;\n",
+ "for i in range(len(BCD_split),0,-1):\n",
+ " d+=int(BCD_split[len(BCD_split)-i],2)*10**(i-1);\n",
+ "\n",
+ "#Result\n",
+ "print(\"The equivalent decimal = %d.\"%d);\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python [Root]",
+ "language": "python",
+ "name": "Python [Root]"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.12"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}