Please type your explanation!!!!! It will be greatly appreciated. We have learne
ID: 3012142 • Letter: P
Question
Please type your explanation!!!!! It will be greatly appreciated.
We have learned that we can block-convert a binary number to octal by grouping the binary number into blocks of 3 digits (going from right to left, perhaps padding the binary number with one or two leading zeros to complete the leftmost block of three) and converting each 3 digit binary number into one octal digit. The following is a proof that this procedure works as advertised Suppose n is a nonnegative integer and its binary expansion is given by where each dk E {0,1) and m is a nonnegative integer. We can assume without loss of generality that the number of terms in this sum is a multiple of 3,i.e. m 1 3q for some natural number q We now group the sum into blocks of 3 terms each, as follows: 1 2 1 1 3i+j 1:0 j=0 We now set o; - d3i + 2d3i+1 +4d3i+2 for all i and get 1 Since each dk is 0 or 1, the 0i satisfy 0 % 7, i.e., there are octal digits. We have found the octal expansion of n, and it is obtained by block-converting three binary digits at a time to octal, from right to left.Explanation / Answer
Now i am going to describe at specific point(s) where the lines of the proof given here fail is
Let's look at it another way - in base 10 which you're likely to be comfortable with, you can't express 1/3 exactly. It's 0.3333333... (recurring). The reason we can't represent 0.1 as a binary floating point number is for exactly the same reason. we can represent 3, and 9, and 27 exactly - but not 1/3, 1/9 or 1/27.
The problem is that 3 is a prime number which isn't a factor of 10. That's not an issue when we want to multiply a number by 3: we can always multiply by an integer without running into problems. But when we divide by a number which is prime and isn't a factor of base, we can run into trouble (and will do so if you try to divide 1 by that number).this is the specific point (s) where we can't block convert from binary to decimal.