How can I easily double any size number in my head?
$begingroup$
I'm a software engineer, and I often double numbers especially when doing binary to decimal conversions. When numbers get large, I have trouble doubling a number in my head without using paper. For example, I can double 128
in my head easily because it's common and I have it memorized, but numbers like 183
get more difficult.
Is there some clever trick I can use to mentally double any number? I'm probably being idealistic, but it would be nice to have 4 digit numbers be just as easy to double as 2 digit numbers.
soft-question arithmetic mental-arithmetic
$endgroup$
|
show 3 more comments
$begingroup$
I'm a software engineer, and I often double numbers especially when doing binary to decimal conversions. When numbers get large, I have trouble doubling a number in my head without using paper. For example, I can double 128
in my head easily because it's common and I have it memorized, but numbers like 183
get more difficult.
Is there some clever trick I can use to mentally double any number? I'm probably being idealistic, but it would be nice to have 4 digit numbers be just as easy to double as 2 digit numbers.
soft-question arithmetic mental-arithmetic
$endgroup$
7
$begingroup$
I usually go left-to-right; this has the advantage of giving me a "guesstimate" of how big it'll get. So, $183times2=200+160+6$ (alternatively, I'm used to angles, so I know $180times 2=360$ off the bat). (In binary of course, it's as simple as appending a $0$. ;)) As for converting binary to decimal: you might be interested in Horner's method: less arithmetic and fuss.
$endgroup$
– J. M. is not a mathematician
Dec 27 '16 at 15:51
9
$begingroup$
This question has the "binary" tag, but it doesn't seem to be related to binary numbers. If you're talking specifically about the binary representation, then just add a zero to the right: $10times 101101010110 = 101101010110color{red}{0}$.
$endgroup$
– Wood
Dec 27 '16 at 15:54
1
$begingroup$
@Wood Sorry, I guess I'm not smart enough about math in general to find the right tag. I was forced to pick one.
$endgroup$
– void.pointer
Dec 27 '16 at 16:00
$begingroup$
@void.pointer Isn't there a mental math tag? I thought there was.
$endgroup$
– Sean English
Dec 27 '16 at 16:49
1
$begingroup$
Note: I might not do it in my head if it’s already full of the coding or engineering problem. Jot it down on paper: sometimes it’s easy to just write down the double too, afterwards, using the left-to-right method but not having to clear up some of your mental scratchpad.
$endgroup$
– JDługosz
Dec 28 '16 at 6:44
|
show 3 more comments
$begingroup$
I'm a software engineer, and I often double numbers especially when doing binary to decimal conversions. When numbers get large, I have trouble doubling a number in my head without using paper. For example, I can double 128
in my head easily because it's common and I have it memorized, but numbers like 183
get more difficult.
Is there some clever trick I can use to mentally double any number? I'm probably being idealistic, but it would be nice to have 4 digit numbers be just as easy to double as 2 digit numbers.
soft-question arithmetic mental-arithmetic
$endgroup$
I'm a software engineer, and I often double numbers especially when doing binary to decimal conversions. When numbers get large, I have trouble doubling a number in my head without using paper. For example, I can double 128
in my head easily because it's common and I have it memorized, but numbers like 183
get more difficult.
Is there some clever trick I can use to mentally double any number? I'm probably being idealistic, but it would be nice to have 4 digit numbers be just as easy to double as 2 digit numbers.
soft-question arithmetic mental-arithmetic
soft-question arithmetic mental-arithmetic
edited Dec 31 '16 at 7:53


Leila
3,49553156
3,49553156
asked Dec 27 '16 at 15:48
void.pointervoid.pointer
31735
31735
7
$begingroup$
I usually go left-to-right; this has the advantage of giving me a "guesstimate" of how big it'll get. So, $183times2=200+160+6$ (alternatively, I'm used to angles, so I know $180times 2=360$ off the bat). (In binary of course, it's as simple as appending a $0$. ;)) As for converting binary to decimal: you might be interested in Horner's method: less arithmetic and fuss.
$endgroup$
– J. M. is not a mathematician
Dec 27 '16 at 15:51
9
$begingroup$
This question has the "binary" tag, but it doesn't seem to be related to binary numbers. If you're talking specifically about the binary representation, then just add a zero to the right: $10times 101101010110 = 101101010110color{red}{0}$.
$endgroup$
– Wood
Dec 27 '16 at 15:54
1
$begingroup$
@Wood Sorry, I guess I'm not smart enough about math in general to find the right tag. I was forced to pick one.
$endgroup$
– void.pointer
Dec 27 '16 at 16:00
$begingroup$
@void.pointer Isn't there a mental math tag? I thought there was.
$endgroup$
– Sean English
Dec 27 '16 at 16:49
1
$begingroup$
Note: I might not do it in my head if it’s already full of the coding or engineering problem. Jot it down on paper: sometimes it’s easy to just write down the double too, afterwards, using the left-to-right method but not having to clear up some of your mental scratchpad.
$endgroup$
– JDługosz
Dec 28 '16 at 6:44
|
show 3 more comments
7
$begingroup$
I usually go left-to-right; this has the advantage of giving me a "guesstimate" of how big it'll get. So, $183times2=200+160+6$ (alternatively, I'm used to angles, so I know $180times 2=360$ off the bat). (In binary of course, it's as simple as appending a $0$. ;)) As for converting binary to decimal: you might be interested in Horner's method: less arithmetic and fuss.
$endgroup$
– J. M. is not a mathematician
Dec 27 '16 at 15:51
9
$begingroup$
This question has the "binary" tag, but it doesn't seem to be related to binary numbers. If you're talking specifically about the binary representation, then just add a zero to the right: $10times 101101010110 = 101101010110color{red}{0}$.
$endgroup$
– Wood
Dec 27 '16 at 15:54
1
$begingroup$
@Wood Sorry, I guess I'm not smart enough about math in general to find the right tag. I was forced to pick one.
$endgroup$
– void.pointer
Dec 27 '16 at 16:00
$begingroup$
@void.pointer Isn't there a mental math tag? I thought there was.
$endgroup$
– Sean English
Dec 27 '16 at 16:49
1
$begingroup$
Note: I might not do it in my head if it’s already full of the coding or engineering problem. Jot it down on paper: sometimes it’s easy to just write down the double too, afterwards, using the left-to-right method but not having to clear up some of your mental scratchpad.
$endgroup$
– JDługosz
Dec 28 '16 at 6:44
7
7
$begingroup$
I usually go left-to-right; this has the advantage of giving me a "guesstimate" of how big it'll get. So, $183times2=200+160+6$ (alternatively, I'm used to angles, so I know $180times 2=360$ off the bat). (In binary of course, it's as simple as appending a $0$. ;)) As for converting binary to decimal: you might be interested in Horner's method: less arithmetic and fuss.
$endgroup$
– J. M. is not a mathematician
Dec 27 '16 at 15:51
$begingroup$
I usually go left-to-right; this has the advantage of giving me a "guesstimate" of how big it'll get. So, $183times2=200+160+6$ (alternatively, I'm used to angles, so I know $180times 2=360$ off the bat). (In binary of course, it's as simple as appending a $0$. ;)) As for converting binary to decimal: you might be interested in Horner's method: less arithmetic and fuss.
$endgroup$
– J. M. is not a mathematician
Dec 27 '16 at 15:51
9
9
$begingroup$
This question has the "binary" tag, but it doesn't seem to be related to binary numbers. If you're talking specifically about the binary representation, then just add a zero to the right: $10times 101101010110 = 101101010110color{red}{0}$.
$endgroup$
– Wood
Dec 27 '16 at 15:54
$begingroup$
This question has the "binary" tag, but it doesn't seem to be related to binary numbers. If you're talking specifically about the binary representation, then just add a zero to the right: $10times 101101010110 = 101101010110color{red}{0}$.
$endgroup$
– Wood
Dec 27 '16 at 15:54
1
1
$begingroup$
@Wood Sorry, I guess I'm not smart enough about math in general to find the right tag. I was forced to pick one.
$endgroup$
– void.pointer
Dec 27 '16 at 16:00
$begingroup$
@Wood Sorry, I guess I'm not smart enough about math in general to find the right tag. I was forced to pick one.
$endgroup$
– void.pointer
Dec 27 '16 at 16:00
$begingroup$
@void.pointer Isn't there a mental math tag? I thought there was.
$endgroup$
– Sean English
Dec 27 '16 at 16:49
$begingroup$
@void.pointer Isn't there a mental math tag? I thought there was.
$endgroup$
– Sean English
Dec 27 '16 at 16:49
1
1
$begingroup$
Note: I might not do it in my head if it’s already full of the coding or engineering problem. Jot it down on paper: sometimes it’s easy to just write down the double too, afterwards, using the left-to-right method but not having to clear up some of your mental scratchpad.
$endgroup$
– JDługosz
Dec 28 '16 at 6:44
$begingroup$
Note: I might not do it in my head if it’s already full of the coding or engineering problem. Jot it down on paper: sometimes it’s easy to just write down the double too, afterwards, using the left-to-right method but not having to clear up some of your mental scratchpad.
$endgroup$
– JDługosz
Dec 28 '16 at 6:44
|
show 3 more comments
10 Answers
10
active
oldest
votes
$begingroup$
I usually look for an easy number which is close to the original one.
For example:
$2 times 183 = 2 times 180 + 6=366$
Or
$ 2times 1481= 2 times 1500 - 38 = 2960+2$
$endgroup$
12
$begingroup$
My way, same here +1
$endgroup$
– Vidyanshu Mishra
Dec 27 '16 at 15:56
1
$begingroup$
I don't understand the2960 + 2
at the end (The +2 part), especially since you already have- 38
before that. Did you mean- 40
instead?
$endgroup$
– void.pointer
Dec 27 '16 at 16:03
1
$begingroup$
@void.pointer It follows the same rule! i can't subtract 38 easily so i use 40 and next add 2!
$endgroup$
– Leila
Dec 27 '16 at 16:04
2
$begingroup$
Ok I get it; you weren't showing the interim "rounding" steps so I got confused. This is a pretty easy and flexible approach.
$endgroup$
– void.pointer
Dec 27 '16 at 16:05
1
$begingroup$
I do this too. It also helps with multiplication by numbers other than 2, addition and subtraction.
$endgroup$
– Devsman
Dec 28 '16 at 19:51
|
show 3 more comments
$begingroup$
It may help to partition the number into smaller numbers that lead with a number less than 5. The idea being that you can double each of these smaller numbers independently then combine their answers without having to worry about "carrying the one".
Example: $$18397238$$ Partitions into $$underline{18},underline{397},underline{2},underline{38}.$$ Doubling each one yields $$underline{36},underline{794},underline{4},underline{76}$$
This is efficient if there are a lot of numbers less than $5$ in your number, but not so much otherwise.
Edit: It should be noted that this technique can work in tandem with many of the other methods mentioned, and can actually make them easier to use. For example, if you first think of the number grouped according to my strategy, then use the left-to-right method outlined in David K's answer on each group, every digit has a carried 1 except the last, so you don't even have to think about what the digit to the right is when you are doubling.
$endgroup$
2
$begingroup$
This can be pretty effective for a lot of numbers. The OPs example of 183 doesn't stand a chance.
$endgroup$
– Kaynex
Dec 27 '16 at 16:12
1
$begingroup$
Good idea but as you mentioned at the end, won't work too well for numbers like78987
$endgroup$
– void.pointer
Dec 27 '16 at 16:32
$begingroup$
I use a similar method which works well with almost every number :)
$endgroup$
– ABcDexter
Dec 28 '16 at 6:01
3
$begingroup$
@abcdexter please do share 🙂
$endgroup$
– void.pointer
Dec 28 '16 at 14:45
$begingroup$
Ok, adding the answer :)
$endgroup$
– ABcDexter
Dec 29 '16 at 12:11
|
show 2 more comments
$begingroup$
You can very well work from left to right (which is the way you spell and utter the number). Just double the current digit and anticipate a carry from the next one (if $5$ to $9$).
Examples:
$192$ yields $284$ without carries and $bar384$ with.
$9999$ yields $08888/bar1bar9bar9bar98$.
$123456789$ yields $246802468/246bar9bar1bar3bar5bar78$.
I don't mean that you should double all digits then process the carries. On the opposite, generate double+carry form left to right, in a single pass.
This essentially amounts to mechanically applying the regular table below:
$$
00,01,02,03,04to0\
05,06,07,08,09to1\
10,11,12,13,14to2\
15,16,17,18,19to3\
20,21,22,23,24to4\
25,26,27,28,29to5\
30,31,32,33,34to6\
35,36,37,38,39to7\
40,41,42,43,44to8\
45,46,47,48,49to9\
50,51,52,53,54to0\
55,56,57,58,59to1\
60,61,62,63,64to2\
65,66,67,68,69to3\
70,71,72,73,74to4\
75,76,77,78,79to5\
80,81,82,83,84to6\
85,86,87,88,89to7\
90,91,92,93,94to8\
95,96,97,98,99to9\
$$
$endgroup$
$begingroup$
Great way to go; after five minutes practice, I can easily double numbers of arbitrary length. In doubling, the propagation of the carry is limited to one column at a time, so only one digit of look ahead is needed to determine the carry. You have changed my life!
$endgroup$
– richard1941
Jan 3 '17 at 19:52
$begingroup$
@richard1941: glad to know, thank you for the feedback. Enjoy 4034 !
$endgroup$
– Yves Daoust
Jan 3 '17 at 20:08
add a comment |
$begingroup$
There is a mental-arithmetic trick for doubling a number that works
from left to right.
The rule for most of the digits of the result is as follows.
First, multiply the digit by two, ignoring the tens place of
this intermediate result.
For example, if the original digit is $7,$ since twice $7$ is $14$
the result of this step is $4.$
(One way to think of this is "ignore the carry digit," which would
have been the leading $1$ in this example.)
Next, if the next digit to the right in the original number is $5$ or greater, add one.
For the first digit, however, do not discard the carry digit; just double the first digit and (if the next digit is $5$ or greater) add one.
For the last digit, of course, there is no "next digit" so there is no "add one" step.
So to double $678948,$ we initially get the digits $13$ (from $2times6+1,$ since $7 geq 5$), then $5$ (since $2times7=14$ and $4+1=5$), then $7,$
then $8$ (since $2times9=18$ and the next digit, $4,$ is less than $5$),
then $9,$ then $6.$ The final result is $1357896.$
There are variations on this method.
If a digit (other than the first one) in the original number is $5$
or greater, you can subtract $5$ before doubling it.
Alternatively, you can take the digits in "blocks" of more than one at a time. For example if you see a pair
of consecutive digits that form an easy-to-double two-digit number,
double that number; if this is not the first two digits of the
original number discard the "carry" (that is, $77$ doubled is
$154,$ but you just use $54$); then add $1$ if the next digit is
$5$ or greater.
(Even if you are going to treat the next two or three digits as another
"block," you only need to look at the first digit of the block to decide
whether to add one to the previous block of the result.)
You can even combine the two variations (subtract $5$ and multiply "blocks"
of digits) if you like; just remember that if you subtract $5,$
subtract it from the leftmost digit of the block of digits.
If we take the previous example, $678948,$ in blocks of two digits each,
we get initially $2times67+1=135$, then from $89$ we get $2times39=78,$
and finally $2times48=96.$
The peculiar feature of multiplication by two that this trick exploits
is that it's extremely easy to tell what the "carry" digit is going to
be at any stage of the multiplication without actually working out
all the digits to the right.
So each time you are working on a particular digit or block of digits,
you don't have to remember what previously happened during multiplication
of the digits to the right; you just have to look at the next digit to the
right to decide whether the digit you're about to include in your result
should be (for example) $8$ or $9.$
It is not so easy to predict the carry digits when multiplying by numbers
other than $2,$ which is (I think) why most schools don't bother
to teach this trick.
The thing I find most difficult in mental arithmetic of this sort
is remembering the result long enough to use it for whatever
purpose I needed it.
That's one reason I try to keep a pencil and some scrap paper handy
when I'm programming or debugging.
$endgroup$
add a comment |
$begingroup$
I find doubling is easy to do in my head if I work right to left as I would with usual multiplication or addition.
For 183 for example: double 3 to get 6, double 8 to get 16, remember the 1 to carry, double 1 to get 2, add the carried 1 and get 366.
It doesn't write down nicely since it's more of a mental process than a mathematical one. I literally just do out the steps for hand multiplication; since it's only ×2 it's usually easy to keep track of numbers. Since you're working right to left you can always write down the digit you just found out, that way you just have the carry any higher order digits over without remembering anything else. Come to think of it, when doubling it's really easy since the number you carry over is only ever 1.
$endgroup$
$begingroup$
IMO, remembering to carry is the hard part, and the cause of most errors in mental arithmetic.
$endgroup$
– bishop
Dec 28 '16 at 17:39
1
$begingroup$
@bishop That's why I like the left-to-right method.
$endgroup$
– David K
Dec 28 '16 at 17:49
add a comment |
$begingroup$
Responding just to one part:
I'm probably being idealistic, but it would be nice to have 4 digit numbers be just as easy to double as 2 digit numbers.
If you have a four digit number, e.g., $7215$, then you can think of it as: $72(100) + 15$.
So, responding to the quotation-pull above, let us double the 2 two digit numbers:
$72$ doubled is $144$, and $15$ doubled is $30$. Together, you get $14400 + 30 = 14430$.
Similarly, you give the example of $183$, which is: $1(100) + 83$.
$1$ doubled is $2$, and $83$ doubled is $166$. Together, you get $200+166 = 366$.
I have written out the steps here, but I think this method can be carried out mentally and should at least help with the goal stated in the body of your post ("to have 4 digit numbers be just as easy to double as 2 digit numbers") if not the title of your post ("double any size number").
$endgroup$
add a comment |
$begingroup$
If you want to get the digits from left to right (which is not said in the question, but maybe implicit, since going right-to-left doubling is really easy for any length of number), just add a final digit$~0$ at the right and then mentally divide the resulting number by$~5$. This is not hard; each time just find the quotient and remainder for a number below $50$. I think the other left-to-right answers given here just describe what this method amounts to.
$endgroup$
$begingroup$
Dunno about you, but I find dividing by five mentally more difficult than doubling or halving.
$endgroup$
– J. M. is not a mathematician
Dec 29 '16 at 8:51
$begingroup$
I personally often do the "multiply by 10, divide by 5" method, sometimes in reverse for halving.
$endgroup$
– loa_in_
Dec 29 '16 at 11:42
add a comment |
$begingroup$
Although this does not answer your question, your question is a great one! Back in high school, in the mid 1950's we had no calculators. We were given a table of logs to four decimal places. I was ridiculed by my math teacher, "How can you get logarithms to five decimal places from a four-place table?" I never told her what I was doing.
My secret method was to memorize the log of 2 to a large number of decimal places and to mentally double the number whose log was to be taken. Of course, for logs to base 2, and in binary arithmetic, this could be trivial... Perhaps that suggests an efficient algorithm for logs... Hmm...
Thanks for a great question.
$endgroup$
add a comment |
$begingroup$
The way which works for me is :
- Take the number, make a pair of two digits starting from right to left.
- Now, multiply each pair by two, and do remember the carry to the next i.e. left pair to it.
- In case the carry from right pair is zero, then it's fine, otherwise add the carry after multiplying this current pair by 2.
For example: here c stands for carry.
A simple example for a power of $2$.
$ 4096 to underline{40} underline{96} $
$ (underline{40} underline{96}) *2 to (underline{40} *2+[c] , underline{96} *2)$
$ (underline{40} *2+[1] , underline{92}) to (underline{81} underline{92}) $
A simple example for a number with odd(5) length.
$ 98765 to underline{9} underline{87} underline{65} $
$ (underline{9} underline{87} underline{65} )*2 to (underline{9} *2+[c] , underline{87} *2+ [c], underline{65} *2 ) $
$ (underline{9} *2+[c] , underline{87} *2+ [1], underline{30} to (underline{9} *2+[1] , underline{75}, underline{30} )$
$ (underline{18}+[1] , underline{75}, underline{30} ) to (underline{19} underline{75} underline{30} ) $
A (pseudo)number this time, using the following Python code
import random
n=random.randint(1,2**(random.randint(2,100)))
print(n)
266103712878030
length is $15$
$266103712878030 to underline{2} underline{66} underline{10} underline{37} underline{12} underline{87} underline{80} underline{30})$
$(underline{2} underline{66} underline{10} underline{37} underline{12} underline{87} underline{80} underline{30}) *2 to $
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[c] , underline{80} *2+[c] , underline{30}*2)$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[c] , underline{80} *2+[c] , underline{30} *2) to$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[1] , underline{60} *2+[0] , underline{60})$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[1] , underline{74}+[1] , underline{60} *2 , underline{60}) to$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[0] , underline{24} +[1] , underline{75} , underline{60} , underline{60})$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[0] , underline{74} *2+[0] , underline{25} , underline{75} , underline{60} , underline{60}) to$
$ (underline{2} *2+[c] , underline{66} *2+[0] , underline{20} +[0] , underline{74} , underline{25} , underline{75} , underline{60} , underline{60})$
$ (underline{2} *2+[1] , underline{32} +[0] , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) to $
$ (underline{2} *2+[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
$ (underline{2} *2+[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) to $
$ (underline{4} +[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
$ (underline{5} , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
The reason i use this algorithm is that
- It's easier to multiply two digits at a time, also i happen to remember the multiplication easily for the numbers under 100.
- It is faster than to multiply single digit at a time (but slower than 3 or 4 at a time). We can negotiate this for simplicity as we are doing calculation in mind.
- Also, when you re-iterate and make the final number from left to right you can easily recall the numbers you have just calculated, if not then multiply upcoming pair again.
$endgroup$
add a comment |
$begingroup$
As a simple trick you can use $(a-b)(a+b)=a^2-b^2$ sometimes. For example
$$102*98=100^2-2^2=9996$$
But it needs to memorize some perfect squares
$endgroup$
add a comment |
protected by J. M. is not a mathematician Dec 29 '16 at 8:38
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
10 Answers
10
active
oldest
votes
10 Answers
10
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
I usually look for an easy number which is close to the original one.
For example:
$2 times 183 = 2 times 180 + 6=366$
Or
$ 2times 1481= 2 times 1500 - 38 = 2960+2$
$endgroup$
12
$begingroup$
My way, same here +1
$endgroup$
– Vidyanshu Mishra
Dec 27 '16 at 15:56
1
$begingroup$
I don't understand the2960 + 2
at the end (The +2 part), especially since you already have- 38
before that. Did you mean- 40
instead?
$endgroup$
– void.pointer
Dec 27 '16 at 16:03
1
$begingroup$
@void.pointer It follows the same rule! i can't subtract 38 easily so i use 40 and next add 2!
$endgroup$
– Leila
Dec 27 '16 at 16:04
2
$begingroup$
Ok I get it; you weren't showing the interim "rounding" steps so I got confused. This is a pretty easy and flexible approach.
$endgroup$
– void.pointer
Dec 27 '16 at 16:05
1
$begingroup$
I do this too. It also helps with multiplication by numbers other than 2, addition and subtraction.
$endgroup$
– Devsman
Dec 28 '16 at 19:51
|
show 3 more comments
$begingroup$
I usually look for an easy number which is close to the original one.
For example:
$2 times 183 = 2 times 180 + 6=366$
Or
$ 2times 1481= 2 times 1500 - 38 = 2960+2$
$endgroup$
12
$begingroup$
My way, same here +1
$endgroup$
– Vidyanshu Mishra
Dec 27 '16 at 15:56
1
$begingroup$
I don't understand the2960 + 2
at the end (The +2 part), especially since you already have- 38
before that. Did you mean- 40
instead?
$endgroup$
– void.pointer
Dec 27 '16 at 16:03
1
$begingroup$
@void.pointer It follows the same rule! i can't subtract 38 easily so i use 40 and next add 2!
$endgroup$
– Leila
Dec 27 '16 at 16:04
2
$begingroup$
Ok I get it; you weren't showing the interim "rounding" steps so I got confused. This is a pretty easy and flexible approach.
$endgroup$
– void.pointer
Dec 27 '16 at 16:05
1
$begingroup$
I do this too. It also helps with multiplication by numbers other than 2, addition and subtraction.
$endgroup$
– Devsman
Dec 28 '16 at 19:51
|
show 3 more comments
$begingroup$
I usually look for an easy number which is close to the original one.
For example:
$2 times 183 = 2 times 180 + 6=366$
Or
$ 2times 1481= 2 times 1500 - 38 = 2960+2$
$endgroup$
I usually look for an easy number which is close to the original one.
For example:
$2 times 183 = 2 times 180 + 6=366$
Or
$ 2times 1481= 2 times 1500 - 38 = 2960+2$
edited Jan 14 at 7:31
answered Dec 27 '16 at 15:55


LeilaLeila
3,49553156
3,49553156
12
$begingroup$
My way, same here +1
$endgroup$
– Vidyanshu Mishra
Dec 27 '16 at 15:56
1
$begingroup$
I don't understand the2960 + 2
at the end (The +2 part), especially since you already have- 38
before that. Did you mean- 40
instead?
$endgroup$
– void.pointer
Dec 27 '16 at 16:03
1
$begingroup$
@void.pointer It follows the same rule! i can't subtract 38 easily so i use 40 and next add 2!
$endgroup$
– Leila
Dec 27 '16 at 16:04
2
$begingroup$
Ok I get it; you weren't showing the interim "rounding" steps so I got confused. This is a pretty easy and flexible approach.
$endgroup$
– void.pointer
Dec 27 '16 at 16:05
1
$begingroup$
I do this too. It also helps with multiplication by numbers other than 2, addition and subtraction.
$endgroup$
– Devsman
Dec 28 '16 at 19:51
|
show 3 more comments
12
$begingroup$
My way, same here +1
$endgroup$
– Vidyanshu Mishra
Dec 27 '16 at 15:56
1
$begingroup$
I don't understand the2960 + 2
at the end (The +2 part), especially since you already have- 38
before that. Did you mean- 40
instead?
$endgroup$
– void.pointer
Dec 27 '16 at 16:03
1
$begingroup$
@void.pointer It follows the same rule! i can't subtract 38 easily so i use 40 and next add 2!
$endgroup$
– Leila
Dec 27 '16 at 16:04
2
$begingroup$
Ok I get it; you weren't showing the interim "rounding" steps so I got confused. This is a pretty easy and flexible approach.
$endgroup$
– void.pointer
Dec 27 '16 at 16:05
1
$begingroup$
I do this too. It also helps with multiplication by numbers other than 2, addition and subtraction.
$endgroup$
– Devsman
Dec 28 '16 at 19:51
12
12
$begingroup$
My way, same here +1
$endgroup$
– Vidyanshu Mishra
Dec 27 '16 at 15:56
$begingroup$
My way, same here +1
$endgroup$
– Vidyanshu Mishra
Dec 27 '16 at 15:56
1
1
$begingroup$
I don't understand the
2960 + 2
at the end (The +2 part), especially since you already have - 38
before that. Did you mean - 40
instead?$endgroup$
– void.pointer
Dec 27 '16 at 16:03
$begingroup$
I don't understand the
2960 + 2
at the end (The +2 part), especially since you already have - 38
before that. Did you mean - 40
instead?$endgroup$
– void.pointer
Dec 27 '16 at 16:03
1
1
$begingroup$
@void.pointer It follows the same rule! i can't subtract 38 easily so i use 40 and next add 2!
$endgroup$
– Leila
Dec 27 '16 at 16:04
$begingroup$
@void.pointer It follows the same rule! i can't subtract 38 easily so i use 40 and next add 2!
$endgroup$
– Leila
Dec 27 '16 at 16:04
2
2
$begingroup$
Ok I get it; you weren't showing the interim "rounding" steps so I got confused. This is a pretty easy and flexible approach.
$endgroup$
– void.pointer
Dec 27 '16 at 16:05
$begingroup$
Ok I get it; you weren't showing the interim "rounding" steps so I got confused. This is a pretty easy and flexible approach.
$endgroup$
– void.pointer
Dec 27 '16 at 16:05
1
1
$begingroup$
I do this too. It also helps with multiplication by numbers other than 2, addition and subtraction.
$endgroup$
– Devsman
Dec 28 '16 at 19:51
$begingroup$
I do this too. It also helps with multiplication by numbers other than 2, addition and subtraction.
$endgroup$
– Devsman
Dec 28 '16 at 19:51
|
show 3 more comments
$begingroup$
It may help to partition the number into smaller numbers that lead with a number less than 5. The idea being that you can double each of these smaller numbers independently then combine their answers without having to worry about "carrying the one".
Example: $$18397238$$ Partitions into $$underline{18},underline{397},underline{2},underline{38}.$$ Doubling each one yields $$underline{36},underline{794},underline{4},underline{76}$$
This is efficient if there are a lot of numbers less than $5$ in your number, but not so much otherwise.
Edit: It should be noted that this technique can work in tandem with many of the other methods mentioned, and can actually make them easier to use. For example, if you first think of the number grouped according to my strategy, then use the left-to-right method outlined in David K's answer on each group, every digit has a carried 1 except the last, so you don't even have to think about what the digit to the right is when you are doubling.
$endgroup$
2
$begingroup$
This can be pretty effective for a lot of numbers. The OPs example of 183 doesn't stand a chance.
$endgroup$
– Kaynex
Dec 27 '16 at 16:12
1
$begingroup$
Good idea but as you mentioned at the end, won't work too well for numbers like78987
$endgroup$
– void.pointer
Dec 27 '16 at 16:32
$begingroup$
I use a similar method which works well with almost every number :)
$endgroup$
– ABcDexter
Dec 28 '16 at 6:01
3
$begingroup$
@abcdexter please do share 🙂
$endgroup$
– void.pointer
Dec 28 '16 at 14:45
$begingroup$
Ok, adding the answer :)
$endgroup$
– ABcDexter
Dec 29 '16 at 12:11
|
show 2 more comments
$begingroup$
It may help to partition the number into smaller numbers that lead with a number less than 5. The idea being that you can double each of these smaller numbers independently then combine their answers without having to worry about "carrying the one".
Example: $$18397238$$ Partitions into $$underline{18},underline{397},underline{2},underline{38}.$$ Doubling each one yields $$underline{36},underline{794},underline{4},underline{76}$$
This is efficient if there are a lot of numbers less than $5$ in your number, but not so much otherwise.
Edit: It should be noted that this technique can work in tandem with many of the other methods mentioned, and can actually make them easier to use. For example, if you first think of the number grouped according to my strategy, then use the left-to-right method outlined in David K's answer on each group, every digit has a carried 1 except the last, so you don't even have to think about what the digit to the right is when you are doubling.
$endgroup$
2
$begingroup$
This can be pretty effective for a lot of numbers. The OPs example of 183 doesn't stand a chance.
$endgroup$
– Kaynex
Dec 27 '16 at 16:12
1
$begingroup$
Good idea but as you mentioned at the end, won't work too well for numbers like78987
$endgroup$
– void.pointer
Dec 27 '16 at 16:32
$begingroup$
I use a similar method which works well with almost every number :)
$endgroup$
– ABcDexter
Dec 28 '16 at 6:01
3
$begingroup$
@abcdexter please do share 🙂
$endgroup$
– void.pointer
Dec 28 '16 at 14:45
$begingroup$
Ok, adding the answer :)
$endgroup$
– ABcDexter
Dec 29 '16 at 12:11
|
show 2 more comments
$begingroup$
It may help to partition the number into smaller numbers that lead with a number less than 5. The idea being that you can double each of these smaller numbers independently then combine their answers without having to worry about "carrying the one".
Example: $$18397238$$ Partitions into $$underline{18},underline{397},underline{2},underline{38}.$$ Doubling each one yields $$underline{36},underline{794},underline{4},underline{76}$$
This is efficient if there are a lot of numbers less than $5$ in your number, but not so much otherwise.
Edit: It should be noted that this technique can work in tandem with many of the other methods mentioned, and can actually make them easier to use. For example, if you first think of the number grouped according to my strategy, then use the left-to-right method outlined in David K's answer on each group, every digit has a carried 1 except the last, so you don't even have to think about what the digit to the right is when you are doubling.
$endgroup$
It may help to partition the number into smaller numbers that lead with a number less than 5. The idea being that you can double each of these smaller numbers independently then combine their answers without having to worry about "carrying the one".
Example: $$18397238$$ Partitions into $$underline{18},underline{397},underline{2},underline{38}.$$ Doubling each one yields $$underline{36},underline{794},underline{4},underline{76}$$
This is efficient if there are a lot of numbers less than $5$ in your number, but not so much otherwise.
Edit: It should be noted that this technique can work in tandem with many of the other methods mentioned, and can actually make them easier to use. For example, if you first think of the number grouped according to my strategy, then use the left-to-right method outlined in David K's answer on each group, every digit has a carried 1 except the last, so you don't even have to think about what the digit to the right is when you are doubling.
edited Dec 28 '16 at 19:28
answered Dec 27 '16 at 16:00


Sean EnglishSean English
3,319719
3,319719
2
$begingroup$
This can be pretty effective for a lot of numbers. The OPs example of 183 doesn't stand a chance.
$endgroup$
– Kaynex
Dec 27 '16 at 16:12
1
$begingroup$
Good idea but as you mentioned at the end, won't work too well for numbers like78987
$endgroup$
– void.pointer
Dec 27 '16 at 16:32
$begingroup$
I use a similar method which works well with almost every number :)
$endgroup$
– ABcDexter
Dec 28 '16 at 6:01
3
$begingroup$
@abcdexter please do share 🙂
$endgroup$
– void.pointer
Dec 28 '16 at 14:45
$begingroup$
Ok, adding the answer :)
$endgroup$
– ABcDexter
Dec 29 '16 at 12:11
|
show 2 more comments
2
$begingroup$
This can be pretty effective for a lot of numbers. The OPs example of 183 doesn't stand a chance.
$endgroup$
– Kaynex
Dec 27 '16 at 16:12
1
$begingroup$
Good idea but as you mentioned at the end, won't work too well for numbers like78987
$endgroup$
– void.pointer
Dec 27 '16 at 16:32
$begingroup$
I use a similar method which works well with almost every number :)
$endgroup$
– ABcDexter
Dec 28 '16 at 6:01
3
$begingroup$
@abcdexter please do share 🙂
$endgroup$
– void.pointer
Dec 28 '16 at 14:45
$begingroup$
Ok, adding the answer :)
$endgroup$
– ABcDexter
Dec 29 '16 at 12:11
2
2
$begingroup$
This can be pretty effective for a lot of numbers. The OPs example of 183 doesn't stand a chance.
$endgroup$
– Kaynex
Dec 27 '16 at 16:12
$begingroup$
This can be pretty effective for a lot of numbers. The OPs example of 183 doesn't stand a chance.
$endgroup$
– Kaynex
Dec 27 '16 at 16:12
1
1
$begingroup$
Good idea but as you mentioned at the end, won't work too well for numbers like
78987
$endgroup$
– void.pointer
Dec 27 '16 at 16:32
$begingroup$
Good idea but as you mentioned at the end, won't work too well for numbers like
78987
$endgroup$
– void.pointer
Dec 27 '16 at 16:32
$begingroup$
I use a similar method which works well with almost every number :)
$endgroup$
– ABcDexter
Dec 28 '16 at 6:01
$begingroup$
I use a similar method which works well with almost every number :)
$endgroup$
– ABcDexter
Dec 28 '16 at 6:01
3
3
$begingroup$
@abcdexter please do share 🙂
$endgroup$
– void.pointer
Dec 28 '16 at 14:45
$begingroup$
@abcdexter please do share 🙂
$endgroup$
– void.pointer
Dec 28 '16 at 14:45
$begingroup$
Ok, adding the answer :)
$endgroup$
– ABcDexter
Dec 29 '16 at 12:11
$begingroup$
Ok, adding the answer :)
$endgroup$
– ABcDexter
Dec 29 '16 at 12:11
|
show 2 more comments
$begingroup$
You can very well work from left to right (which is the way you spell and utter the number). Just double the current digit and anticipate a carry from the next one (if $5$ to $9$).
Examples:
$192$ yields $284$ without carries and $bar384$ with.
$9999$ yields $08888/bar1bar9bar9bar98$.
$123456789$ yields $246802468/246bar9bar1bar3bar5bar78$.
I don't mean that you should double all digits then process the carries. On the opposite, generate double+carry form left to right, in a single pass.
This essentially amounts to mechanically applying the regular table below:
$$
00,01,02,03,04to0\
05,06,07,08,09to1\
10,11,12,13,14to2\
15,16,17,18,19to3\
20,21,22,23,24to4\
25,26,27,28,29to5\
30,31,32,33,34to6\
35,36,37,38,39to7\
40,41,42,43,44to8\
45,46,47,48,49to9\
50,51,52,53,54to0\
55,56,57,58,59to1\
60,61,62,63,64to2\
65,66,67,68,69to3\
70,71,72,73,74to4\
75,76,77,78,79to5\
80,81,82,83,84to6\
85,86,87,88,89to7\
90,91,92,93,94to8\
95,96,97,98,99to9\
$$
$endgroup$
$begingroup$
Great way to go; after five minutes practice, I can easily double numbers of arbitrary length. In doubling, the propagation of the carry is limited to one column at a time, so only one digit of look ahead is needed to determine the carry. You have changed my life!
$endgroup$
– richard1941
Jan 3 '17 at 19:52
$begingroup$
@richard1941: glad to know, thank you for the feedback. Enjoy 4034 !
$endgroup$
– Yves Daoust
Jan 3 '17 at 20:08
add a comment |
$begingroup$
You can very well work from left to right (which is the way you spell and utter the number). Just double the current digit and anticipate a carry from the next one (if $5$ to $9$).
Examples:
$192$ yields $284$ without carries and $bar384$ with.
$9999$ yields $08888/bar1bar9bar9bar98$.
$123456789$ yields $246802468/246bar9bar1bar3bar5bar78$.
I don't mean that you should double all digits then process the carries. On the opposite, generate double+carry form left to right, in a single pass.
This essentially amounts to mechanically applying the regular table below:
$$
00,01,02,03,04to0\
05,06,07,08,09to1\
10,11,12,13,14to2\
15,16,17,18,19to3\
20,21,22,23,24to4\
25,26,27,28,29to5\
30,31,32,33,34to6\
35,36,37,38,39to7\
40,41,42,43,44to8\
45,46,47,48,49to9\
50,51,52,53,54to0\
55,56,57,58,59to1\
60,61,62,63,64to2\
65,66,67,68,69to3\
70,71,72,73,74to4\
75,76,77,78,79to5\
80,81,82,83,84to6\
85,86,87,88,89to7\
90,91,92,93,94to8\
95,96,97,98,99to9\
$$
$endgroup$
$begingroup$
Great way to go; after five minutes practice, I can easily double numbers of arbitrary length. In doubling, the propagation of the carry is limited to one column at a time, so only one digit of look ahead is needed to determine the carry. You have changed my life!
$endgroup$
– richard1941
Jan 3 '17 at 19:52
$begingroup$
@richard1941: glad to know, thank you for the feedback. Enjoy 4034 !
$endgroup$
– Yves Daoust
Jan 3 '17 at 20:08
add a comment |
$begingroup$
You can very well work from left to right (which is the way you spell and utter the number). Just double the current digit and anticipate a carry from the next one (if $5$ to $9$).
Examples:
$192$ yields $284$ without carries and $bar384$ with.
$9999$ yields $08888/bar1bar9bar9bar98$.
$123456789$ yields $246802468/246bar9bar1bar3bar5bar78$.
I don't mean that you should double all digits then process the carries. On the opposite, generate double+carry form left to right, in a single pass.
This essentially amounts to mechanically applying the regular table below:
$$
00,01,02,03,04to0\
05,06,07,08,09to1\
10,11,12,13,14to2\
15,16,17,18,19to3\
20,21,22,23,24to4\
25,26,27,28,29to5\
30,31,32,33,34to6\
35,36,37,38,39to7\
40,41,42,43,44to8\
45,46,47,48,49to9\
50,51,52,53,54to0\
55,56,57,58,59to1\
60,61,62,63,64to2\
65,66,67,68,69to3\
70,71,72,73,74to4\
75,76,77,78,79to5\
80,81,82,83,84to6\
85,86,87,88,89to7\
90,91,92,93,94to8\
95,96,97,98,99to9\
$$
$endgroup$
You can very well work from left to right (which is the way you spell and utter the number). Just double the current digit and anticipate a carry from the next one (if $5$ to $9$).
Examples:
$192$ yields $284$ without carries and $bar384$ with.
$9999$ yields $08888/bar1bar9bar9bar98$.
$123456789$ yields $246802468/246bar9bar1bar3bar5bar78$.
I don't mean that you should double all digits then process the carries. On the opposite, generate double+carry form left to right, in a single pass.
This essentially amounts to mechanically applying the regular table below:
$$
00,01,02,03,04to0\
05,06,07,08,09to1\
10,11,12,13,14to2\
15,16,17,18,19to3\
20,21,22,23,24to4\
25,26,27,28,29to5\
30,31,32,33,34to6\
35,36,37,38,39to7\
40,41,42,43,44to8\
45,46,47,48,49to9\
50,51,52,53,54to0\
55,56,57,58,59to1\
60,61,62,63,64to2\
65,66,67,68,69to3\
70,71,72,73,74to4\
75,76,77,78,79to5\
80,81,82,83,84to6\
85,86,87,88,89to7\
90,91,92,93,94to8\
95,96,97,98,99to9\
$$
edited Dec 28 '16 at 20:17
answered Dec 28 '16 at 19:54
Yves DaoustYves Daoust
128k674226
128k674226
$begingroup$
Great way to go; after five minutes practice, I can easily double numbers of arbitrary length. In doubling, the propagation of the carry is limited to one column at a time, so only one digit of look ahead is needed to determine the carry. You have changed my life!
$endgroup$
– richard1941
Jan 3 '17 at 19:52
$begingroup$
@richard1941: glad to know, thank you for the feedback. Enjoy 4034 !
$endgroup$
– Yves Daoust
Jan 3 '17 at 20:08
add a comment |
$begingroup$
Great way to go; after five minutes practice, I can easily double numbers of arbitrary length. In doubling, the propagation of the carry is limited to one column at a time, so only one digit of look ahead is needed to determine the carry. You have changed my life!
$endgroup$
– richard1941
Jan 3 '17 at 19:52
$begingroup$
@richard1941: glad to know, thank you for the feedback. Enjoy 4034 !
$endgroup$
– Yves Daoust
Jan 3 '17 at 20:08
$begingroup$
Great way to go; after five minutes practice, I can easily double numbers of arbitrary length. In doubling, the propagation of the carry is limited to one column at a time, so only one digit of look ahead is needed to determine the carry. You have changed my life!
$endgroup$
– richard1941
Jan 3 '17 at 19:52
$begingroup$
Great way to go; after five minutes practice, I can easily double numbers of arbitrary length. In doubling, the propagation of the carry is limited to one column at a time, so only one digit of look ahead is needed to determine the carry. You have changed my life!
$endgroup$
– richard1941
Jan 3 '17 at 19:52
$begingroup$
@richard1941: glad to know, thank you for the feedback. Enjoy 4034 !
$endgroup$
– Yves Daoust
Jan 3 '17 at 20:08
$begingroup$
@richard1941: glad to know, thank you for the feedback. Enjoy 4034 !
$endgroup$
– Yves Daoust
Jan 3 '17 at 20:08
add a comment |
$begingroup$
There is a mental-arithmetic trick for doubling a number that works
from left to right.
The rule for most of the digits of the result is as follows.
First, multiply the digit by two, ignoring the tens place of
this intermediate result.
For example, if the original digit is $7,$ since twice $7$ is $14$
the result of this step is $4.$
(One way to think of this is "ignore the carry digit," which would
have been the leading $1$ in this example.)
Next, if the next digit to the right in the original number is $5$ or greater, add one.
For the first digit, however, do not discard the carry digit; just double the first digit and (if the next digit is $5$ or greater) add one.
For the last digit, of course, there is no "next digit" so there is no "add one" step.
So to double $678948,$ we initially get the digits $13$ (from $2times6+1,$ since $7 geq 5$), then $5$ (since $2times7=14$ and $4+1=5$), then $7,$
then $8$ (since $2times9=18$ and the next digit, $4,$ is less than $5$),
then $9,$ then $6.$ The final result is $1357896.$
There are variations on this method.
If a digit (other than the first one) in the original number is $5$
or greater, you can subtract $5$ before doubling it.
Alternatively, you can take the digits in "blocks" of more than one at a time. For example if you see a pair
of consecutive digits that form an easy-to-double two-digit number,
double that number; if this is not the first two digits of the
original number discard the "carry" (that is, $77$ doubled is
$154,$ but you just use $54$); then add $1$ if the next digit is
$5$ or greater.
(Even if you are going to treat the next two or three digits as another
"block," you only need to look at the first digit of the block to decide
whether to add one to the previous block of the result.)
You can even combine the two variations (subtract $5$ and multiply "blocks"
of digits) if you like; just remember that if you subtract $5,$
subtract it from the leftmost digit of the block of digits.
If we take the previous example, $678948,$ in blocks of two digits each,
we get initially $2times67+1=135$, then from $89$ we get $2times39=78,$
and finally $2times48=96.$
The peculiar feature of multiplication by two that this trick exploits
is that it's extremely easy to tell what the "carry" digit is going to
be at any stage of the multiplication without actually working out
all the digits to the right.
So each time you are working on a particular digit or block of digits,
you don't have to remember what previously happened during multiplication
of the digits to the right; you just have to look at the next digit to the
right to decide whether the digit you're about to include in your result
should be (for example) $8$ or $9.$
It is not so easy to predict the carry digits when multiplying by numbers
other than $2,$ which is (I think) why most schools don't bother
to teach this trick.
The thing I find most difficult in mental arithmetic of this sort
is remembering the result long enough to use it for whatever
purpose I needed it.
That's one reason I try to keep a pencil and some scrap paper handy
when I'm programming or debugging.
$endgroup$
add a comment |
$begingroup$
There is a mental-arithmetic trick for doubling a number that works
from left to right.
The rule for most of the digits of the result is as follows.
First, multiply the digit by two, ignoring the tens place of
this intermediate result.
For example, if the original digit is $7,$ since twice $7$ is $14$
the result of this step is $4.$
(One way to think of this is "ignore the carry digit," which would
have been the leading $1$ in this example.)
Next, if the next digit to the right in the original number is $5$ or greater, add one.
For the first digit, however, do not discard the carry digit; just double the first digit and (if the next digit is $5$ or greater) add one.
For the last digit, of course, there is no "next digit" so there is no "add one" step.
So to double $678948,$ we initially get the digits $13$ (from $2times6+1,$ since $7 geq 5$), then $5$ (since $2times7=14$ and $4+1=5$), then $7,$
then $8$ (since $2times9=18$ and the next digit, $4,$ is less than $5$),
then $9,$ then $6.$ The final result is $1357896.$
There are variations on this method.
If a digit (other than the first one) in the original number is $5$
or greater, you can subtract $5$ before doubling it.
Alternatively, you can take the digits in "blocks" of more than one at a time. For example if you see a pair
of consecutive digits that form an easy-to-double two-digit number,
double that number; if this is not the first two digits of the
original number discard the "carry" (that is, $77$ doubled is
$154,$ but you just use $54$); then add $1$ if the next digit is
$5$ or greater.
(Even if you are going to treat the next two or three digits as another
"block," you only need to look at the first digit of the block to decide
whether to add one to the previous block of the result.)
You can even combine the two variations (subtract $5$ and multiply "blocks"
of digits) if you like; just remember that if you subtract $5,$
subtract it from the leftmost digit of the block of digits.
If we take the previous example, $678948,$ in blocks of two digits each,
we get initially $2times67+1=135$, then from $89$ we get $2times39=78,$
and finally $2times48=96.$
The peculiar feature of multiplication by two that this trick exploits
is that it's extremely easy to tell what the "carry" digit is going to
be at any stage of the multiplication without actually working out
all the digits to the right.
So each time you are working on a particular digit or block of digits,
you don't have to remember what previously happened during multiplication
of the digits to the right; you just have to look at the next digit to the
right to decide whether the digit you're about to include in your result
should be (for example) $8$ or $9.$
It is not so easy to predict the carry digits when multiplying by numbers
other than $2,$ which is (I think) why most schools don't bother
to teach this trick.
The thing I find most difficult in mental arithmetic of this sort
is remembering the result long enough to use it for whatever
purpose I needed it.
That's one reason I try to keep a pencil and some scrap paper handy
when I'm programming or debugging.
$endgroup$
add a comment |
$begingroup$
There is a mental-arithmetic trick for doubling a number that works
from left to right.
The rule for most of the digits of the result is as follows.
First, multiply the digit by two, ignoring the tens place of
this intermediate result.
For example, if the original digit is $7,$ since twice $7$ is $14$
the result of this step is $4.$
(One way to think of this is "ignore the carry digit," which would
have been the leading $1$ in this example.)
Next, if the next digit to the right in the original number is $5$ or greater, add one.
For the first digit, however, do not discard the carry digit; just double the first digit and (if the next digit is $5$ or greater) add one.
For the last digit, of course, there is no "next digit" so there is no "add one" step.
So to double $678948,$ we initially get the digits $13$ (from $2times6+1,$ since $7 geq 5$), then $5$ (since $2times7=14$ and $4+1=5$), then $7,$
then $8$ (since $2times9=18$ and the next digit, $4,$ is less than $5$),
then $9,$ then $6.$ The final result is $1357896.$
There are variations on this method.
If a digit (other than the first one) in the original number is $5$
or greater, you can subtract $5$ before doubling it.
Alternatively, you can take the digits in "blocks" of more than one at a time. For example if you see a pair
of consecutive digits that form an easy-to-double two-digit number,
double that number; if this is not the first two digits of the
original number discard the "carry" (that is, $77$ doubled is
$154,$ but you just use $54$); then add $1$ if the next digit is
$5$ or greater.
(Even if you are going to treat the next two or three digits as another
"block," you only need to look at the first digit of the block to decide
whether to add one to the previous block of the result.)
You can even combine the two variations (subtract $5$ and multiply "blocks"
of digits) if you like; just remember that if you subtract $5,$
subtract it from the leftmost digit of the block of digits.
If we take the previous example, $678948,$ in blocks of two digits each,
we get initially $2times67+1=135$, then from $89$ we get $2times39=78,$
and finally $2times48=96.$
The peculiar feature of multiplication by two that this trick exploits
is that it's extremely easy to tell what the "carry" digit is going to
be at any stage of the multiplication without actually working out
all the digits to the right.
So each time you are working on a particular digit or block of digits,
you don't have to remember what previously happened during multiplication
of the digits to the right; you just have to look at the next digit to the
right to decide whether the digit you're about to include in your result
should be (for example) $8$ or $9.$
It is not so easy to predict the carry digits when multiplying by numbers
other than $2,$ which is (I think) why most schools don't bother
to teach this trick.
The thing I find most difficult in mental arithmetic of this sort
is remembering the result long enough to use it for whatever
purpose I needed it.
That's one reason I try to keep a pencil and some scrap paper handy
when I'm programming or debugging.
$endgroup$
There is a mental-arithmetic trick for doubling a number that works
from left to right.
The rule for most of the digits of the result is as follows.
First, multiply the digit by two, ignoring the tens place of
this intermediate result.
For example, if the original digit is $7,$ since twice $7$ is $14$
the result of this step is $4.$
(One way to think of this is "ignore the carry digit," which would
have been the leading $1$ in this example.)
Next, if the next digit to the right in the original number is $5$ or greater, add one.
For the first digit, however, do not discard the carry digit; just double the first digit and (if the next digit is $5$ or greater) add one.
For the last digit, of course, there is no "next digit" so there is no "add one" step.
So to double $678948,$ we initially get the digits $13$ (from $2times6+1,$ since $7 geq 5$), then $5$ (since $2times7=14$ and $4+1=5$), then $7,$
then $8$ (since $2times9=18$ and the next digit, $4,$ is less than $5$),
then $9,$ then $6.$ The final result is $1357896.$
There are variations on this method.
If a digit (other than the first one) in the original number is $5$
or greater, you can subtract $5$ before doubling it.
Alternatively, you can take the digits in "blocks" of more than one at a time. For example if you see a pair
of consecutive digits that form an easy-to-double two-digit number,
double that number; if this is not the first two digits of the
original number discard the "carry" (that is, $77$ doubled is
$154,$ but you just use $54$); then add $1$ if the next digit is
$5$ or greater.
(Even if you are going to treat the next two or three digits as another
"block," you only need to look at the first digit of the block to decide
whether to add one to the previous block of the result.)
You can even combine the two variations (subtract $5$ and multiply "blocks"
of digits) if you like; just remember that if you subtract $5,$
subtract it from the leftmost digit of the block of digits.
If we take the previous example, $678948,$ in blocks of two digits each,
we get initially $2times67+1=135$, then from $89$ we get $2times39=78,$
and finally $2times48=96.$
The peculiar feature of multiplication by two that this trick exploits
is that it's extremely easy to tell what the "carry" digit is going to
be at any stage of the multiplication without actually working out
all the digits to the right.
So each time you are working on a particular digit or block of digits,
you don't have to remember what previously happened during multiplication
of the digits to the right; you just have to look at the next digit to the
right to decide whether the digit you're about to include in your result
should be (for example) $8$ or $9.$
It is not so easy to predict the carry digits when multiplying by numbers
other than $2,$ which is (I think) why most schools don't bother
to teach this trick.
The thing I find most difficult in mental arithmetic of this sort
is remembering the result long enough to use it for whatever
purpose I needed it.
That's one reason I try to keep a pencil and some scrap paper handy
when I'm programming or debugging.
edited Mar 7 '17 at 3:07
answered Dec 28 '16 at 17:33
David KDavid K
54.4k343118
54.4k343118
add a comment |
add a comment |
$begingroup$
I find doubling is easy to do in my head if I work right to left as I would with usual multiplication or addition.
For 183 for example: double 3 to get 6, double 8 to get 16, remember the 1 to carry, double 1 to get 2, add the carried 1 and get 366.
It doesn't write down nicely since it's more of a mental process than a mathematical one. I literally just do out the steps for hand multiplication; since it's only ×2 it's usually easy to keep track of numbers. Since you're working right to left you can always write down the digit you just found out, that way you just have the carry any higher order digits over without remembering anything else. Come to think of it, when doubling it's really easy since the number you carry over is only ever 1.
$endgroup$
$begingroup$
IMO, remembering to carry is the hard part, and the cause of most errors in mental arithmetic.
$endgroup$
– bishop
Dec 28 '16 at 17:39
1
$begingroup$
@bishop That's why I like the left-to-right method.
$endgroup$
– David K
Dec 28 '16 at 17:49
add a comment |
$begingroup$
I find doubling is easy to do in my head if I work right to left as I would with usual multiplication or addition.
For 183 for example: double 3 to get 6, double 8 to get 16, remember the 1 to carry, double 1 to get 2, add the carried 1 and get 366.
It doesn't write down nicely since it's more of a mental process than a mathematical one. I literally just do out the steps for hand multiplication; since it's only ×2 it's usually easy to keep track of numbers. Since you're working right to left you can always write down the digit you just found out, that way you just have the carry any higher order digits over without remembering anything else. Come to think of it, when doubling it's really easy since the number you carry over is only ever 1.
$endgroup$
$begingroup$
IMO, remembering to carry is the hard part, and the cause of most errors in mental arithmetic.
$endgroup$
– bishop
Dec 28 '16 at 17:39
1
$begingroup$
@bishop That's why I like the left-to-right method.
$endgroup$
– David K
Dec 28 '16 at 17:49
add a comment |
$begingroup$
I find doubling is easy to do in my head if I work right to left as I would with usual multiplication or addition.
For 183 for example: double 3 to get 6, double 8 to get 16, remember the 1 to carry, double 1 to get 2, add the carried 1 and get 366.
It doesn't write down nicely since it's more of a mental process than a mathematical one. I literally just do out the steps for hand multiplication; since it's only ×2 it's usually easy to keep track of numbers. Since you're working right to left you can always write down the digit you just found out, that way you just have the carry any higher order digits over without remembering anything else. Come to think of it, when doubling it's really easy since the number you carry over is only ever 1.
$endgroup$
I find doubling is easy to do in my head if I work right to left as I would with usual multiplication or addition.
For 183 for example: double 3 to get 6, double 8 to get 16, remember the 1 to carry, double 1 to get 2, add the carried 1 and get 366.
It doesn't write down nicely since it's more of a mental process than a mathematical one. I literally just do out the steps for hand multiplication; since it's only ×2 it's usually easy to keep track of numbers. Since you're working right to left you can always write down the digit you just found out, that way you just have the carry any higher order digits over without remembering anything else. Come to think of it, when doubling it's really easy since the number you carry over is only ever 1.
answered Dec 28 '16 at 14:15
JMacJMac
1403
1403
$begingroup$
IMO, remembering to carry is the hard part, and the cause of most errors in mental arithmetic.
$endgroup$
– bishop
Dec 28 '16 at 17:39
1
$begingroup$
@bishop That's why I like the left-to-right method.
$endgroup$
– David K
Dec 28 '16 at 17:49
add a comment |
$begingroup$
IMO, remembering to carry is the hard part, and the cause of most errors in mental arithmetic.
$endgroup$
– bishop
Dec 28 '16 at 17:39
1
$begingroup$
@bishop That's why I like the left-to-right method.
$endgroup$
– David K
Dec 28 '16 at 17:49
$begingroup$
IMO, remembering to carry is the hard part, and the cause of most errors in mental arithmetic.
$endgroup$
– bishop
Dec 28 '16 at 17:39
$begingroup$
IMO, remembering to carry is the hard part, and the cause of most errors in mental arithmetic.
$endgroup$
– bishop
Dec 28 '16 at 17:39
1
1
$begingroup$
@bishop That's why I like the left-to-right method.
$endgroup$
– David K
Dec 28 '16 at 17:49
$begingroup$
@bishop That's why I like the left-to-right method.
$endgroup$
– David K
Dec 28 '16 at 17:49
add a comment |
$begingroup$
Responding just to one part:
I'm probably being idealistic, but it would be nice to have 4 digit numbers be just as easy to double as 2 digit numbers.
If you have a four digit number, e.g., $7215$, then you can think of it as: $72(100) + 15$.
So, responding to the quotation-pull above, let us double the 2 two digit numbers:
$72$ doubled is $144$, and $15$ doubled is $30$. Together, you get $14400 + 30 = 14430$.
Similarly, you give the example of $183$, which is: $1(100) + 83$.
$1$ doubled is $2$, and $83$ doubled is $166$. Together, you get $200+166 = 366$.
I have written out the steps here, but I think this method can be carried out mentally and should at least help with the goal stated in the body of your post ("to have 4 digit numbers be just as easy to double as 2 digit numbers") if not the title of your post ("double any size number").
$endgroup$
add a comment |
$begingroup$
Responding just to one part:
I'm probably being idealistic, but it would be nice to have 4 digit numbers be just as easy to double as 2 digit numbers.
If you have a four digit number, e.g., $7215$, then you can think of it as: $72(100) + 15$.
So, responding to the quotation-pull above, let us double the 2 two digit numbers:
$72$ doubled is $144$, and $15$ doubled is $30$. Together, you get $14400 + 30 = 14430$.
Similarly, you give the example of $183$, which is: $1(100) + 83$.
$1$ doubled is $2$, and $83$ doubled is $166$. Together, you get $200+166 = 366$.
I have written out the steps here, but I think this method can be carried out mentally and should at least help with the goal stated in the body of your post ("to have 4 digit numbers be just as easy to double as 2 digit numbers") if not the title of your post ("double any size number").
$endgroup$
add a comment |
$begingroup$
Responding just to one part:
I'm probably being idealistic, but it would be nice to have 4 digit numbers be just as easy to double as 2 digit numbers.
If you have a four digit number, e.g., $7215$, then you can think of it as: $72(100) + 15$.
So, responding to the quotation-pull above, let us double the 2 two digit numbers:
$72$ doubled is $144$, and $15$ doubled is $30$. Together, you get $14400 + 30 = 14430$.
Similarly, you give the example of $183$, which is: $1(100) + 83$.
$1$ doubled is $2$, and $83$ doubled is $166$. Together, you get $200+166 = 366$.
I have written out the steps here, but I think this method can be carried out mentally and should at least help with the goal stated in the body of your post ("to have 4 digit numbers be just as easy to double as 2 digit numbers") if not the title of your post ("double any size number").
$endgroup$
Responding just to one part:
I'm probably being idealistic, but it would be nice to have 4 digit numbers be just as easy to double as 2 digit numbers.
If you have a four digit number, e.g., $7215$, then you can think of it as: $72(100) + 15$.
So, responding to the quotation-pull above, let us double the 2 two digit numbers:
$72$ doubled is $144$, and $15$ doubled is $30$. Together, you get $14400 + 30 = 14430$.
Similarly, you give the example of $183$, which is: $1(100) + 83$.
$1$ doubled is $2$, and $83$ doubled is $166$. Together, you get $200+166 = 366$.
I have written out the steps here, but I think this method can be carried out mentally and should at least help with the goal stated in the body of your post ("to have 4 digit numbers be just as easy to double as 2 digit numbers") if not the title of your post ("double any size number").
answered Dec 28 '16 at 22:18


Benjamin DickmanBenjamin Dickman
10.3k22968
10.3k22968
add a comment |
add a comment |
$begingroup$
If you want to get the digits from left to right (which is not said in the question, but maybe implicit, since going right-to-left doubling is really easy for any length of number), just add a final digit$~0$ at the right and then mentally divide the resulting number by$~5$. This is not hard; each time just find the quotient and remainder for a number below $50$. I think the other left-to-right answers given here just describe what this method amounts to.
$endgroup$
$begingroup$
Dunno about you, but I find dividing by five mentally more difficult than doubling or halving.
$endgroup$
– J. M. is not a mathematician
Dec 29 '16 at 8:51
$begingroup$
I personally often do the "multiply by 10, divide by 5" method, sometimes in reverse for halving.
$endgroup$
– loa_in_
Dec 29 '16 at 11:42
add a comment |
$begingroup$
If you want to get the digits from left to right (which is not said in the question, but maybe implicit, since going right-to-left doubling is really easy for any length of number), just add a final digit$~0$ at the right and then mentally divide the resulting number by$~5$. This is not hard; each time just find the quotient and remainder for a number below $50$. I think the other left-to-right answers given here just describe what this method amounts to.
$endgroup$
$begingroup$
Dunno about you, but I find dividing by five mentally more difficult than doubling or halving.
$endgroup$
– J. M. is not a mathematician
Dec 29 '16 at 8:51
$begingroup$
I personally often do the "multiply by 10, divide by 5" method, sometimes in reverse for halving.
$endgroup$
– loa_in_
Dec 29 '16 at 11:42
add a comment |
$begingroup$
If you want to get the digits from left to right (which is not said in the question, but maybe implicit, since going right-to-left doubling is really easy for any length of number), just add a final digit$~0$ at the right and then mentally divide the resulting number by$~5$. This is not hard; each time just find the quotient and remainder for a number below $50$. I think the other left-to-right answers given here just describe what this method amounts to.
$endgroup$
If you want to get the digits from left to right (which is not said in the question, but maybe implicit, since going right-to-left doubling is really easy for any length of number), just add a final digit$~0$ at the right and then mentally divide the resulting number by$~5$. This is not hard; each time just find the quotient and remainder for a number below $50$. I think the other left-to-right answers given here just describe what this method amounts to.
answered Dec 29 '16 at 8:37


Marc van LeeuwenMarc van Leeuwen
87.3k5108223
87.3k5108223
$begingroup$
Dunno about you, but I find dividing by five mentally more difficult than doubling or halving.
$endgroup$
– J. M. is not a mathematician
Dec 29 '16 at 8:51
$begingroup$
I personally often do the "multiply by 10, divide by 5" method, sometimes in reverse for halving.
$endgroup$
– loa_in_
Dec 29 '16 at 11:42
add a comment |
$begingroup$
Dunno about you, but I find dividing by five mentally more difficult than doubling or halving.
$endgroup$
– J. M. is not a mathematician
Dec 29 '16 at 8:51
$begingroup$
I personally often do the "multiply by 10, divide by 5" method, sometimes in reverse for halving.
$endgroup$
– loa_in_
Dec 29 '16 at 11:42
$begingroup$
Dunno about you, but I find dividing by five mentally more difficult than doubling or halving.
$endgroup$
– J. M. is not a mathematician
Dec 29 '16 at 8:51
$begingroup$
Dunno about you, but I find dividing by five mentally more difficult than doubling or halving.
$endgroup$
– J. M. is not a mathematician
Dec 29 '16 at 8:51
$begingroup$
I personally often do the "multiply by 10, divide by 5" method, sometimes in reverse for halving.
$endgroup$
– loa_in_
Dec 29 '16 at 11:42
$begingroup$
I personally often do the "multiply by 10, divide by 5" method, sometimes in reverse for halving.
$endgroup$
– loa_in_
Dec 29 '16 at 11:42
add a comment |
$begingroup$
Although this does not answer your question, your question is a great one! Back in high school, in the mid 1950's we had no calculators. We were given a table of logs to four decimal places. I was ridiculed by my math teacher, "How can you get logarithms to five decimal places from a four-place table?" I never told her what I was doing.
My secret method was to memorize the log of 2 to a large number of decimal places and to mentally double the number whose log was to be taken. Of course, for logs to base 2, and in binary arithmetic, this could be trivial... Perhaps that suggests an efficient algorithm for logs... Hmm...
Thanks for a great question.
$endgroup$
add a comment |
$begingroup$
Although this does not answer your question, your question is a great one! Back in high school, in the mid 1950's we had no calculators. We were given a table of logs to four decimal places. I was ridiculed by my math teacher, "How can you get logarithms to five decimal places from a four-place table?" I never told her what I was doing.
My secret method was to memorize the log of 2 to a large number of decimal places and to mentally double the number whose log was to be taken. Of course, for logs to base 2, and in binary arithmetic, this could be trivial... Perhaps that suggests an efficient algorithm for logs... Hmm...
Thanks for a great question.
$endgroup$
add a comment |
$begingroup$
Although this does not answer your question, your question is a great one! Back in high school, in the mid 1950's we had no calculators. We were given a table of logs to four decimal places. I was ridiculed by my math teacher, "How can you get logarithms to five decimal places from a four-place table?" I never told her what I was doing.
My secret method was to memorize the log of 2 to a large number of decimal places and to mentally double the number whose log was to be taken. Of course, for logs to base 2, and in binary arithmetic, this could be trivial... Perhaps that suggests an efficient algorithm for logs... Hmm...
Thanks for a great question.
$endgroup$
Although this does not answer your question, your question is a great one! Back in high school, in the mid 1950's we had no calculators. We were given a table of logs to four decimal places. I was ridiculed by my math teacher, "How can you get logarithms to five decimal places from a four-place table?" I never told her what I was doing.
My secret method was to memorize the log of 2 to a large number of decimal places and to mentally double the number whose log was to be taken. Of course, for logs to base 2, and in binary arithmetic, this could be trivial... Perhaps that suggests an efficient algorithm for logs... Hmm...
Thanks for a great question.
answered Jan 3 '17 at 19:31


richard1941richard1941
51729
51729
add a comment |
add a comment |
$begingroup$
The way which works for me is :
- Take the number, make a pair of two digits starting from right to left.
- Now, multiply each pair by two, and do remember the carry to the next i.e. left pair to it.
- In case the carry from right pair is zero, then it's fine, otherwise add the carry after multiplying this current pair by 2.
For example: here c stands for carry.
A simple example for a power of $2$.
$ 4096 to underline{40} underline{96} $
$ (underline{40} underline{96}) *2 to (underline{40} *2+[c] , underline{96} *2)$
$ (underline{40} *2+[1] , underline{92}) to (underline{81} underline{92}) $
A simple example for a number with odd(5) length.
$ 98765 to underline{9} underline{87} underline{65} $
$ (underline{9} underline{87} underline{65} )*2 to (underline{9} *2+[c] , underline{87} *2+ [c], underline{65} *2 ) $
$ (underline{9} *2+[c] , underline{87} *2+ [1], underline{30} to (underline{9} *2+[1] , underline{75}, underline{30} )$
$ (underline{18}+[1] , underline{75}, underline{30} ) to (underline{19} underline{75} underline{30} ) $
A (pseudo)number this time, using the following Python code
import random
n=random.randint(1,2**(random.randint(2,100)))
print(n)
266103712878030
length is $15$
$266103712878030 to underline{2} underline{66} underline{10} underline{37} underline{12} underline{87} underline{80} underline{30})$
$(underline{2} underline{66} underline{10} underline{37} underline{12} underline{87} underline{80} underline{30}) *2 to $
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[c] , underline{80} *2+[c] , underline{30}*2)$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[c] , underline{80} *2+[c] , underline{30} *2) to$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[1] , underline{60} *2+[0] , underline{60})$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[1] , underline{74}+[1] , underline{60} *2 , underline{60}) to$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[0] , underline{24} +[1] , underline{75} , underline{60} , underline{60})$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[0] , underline{74} *2+[0] , underline{25} , underline{75} , underline{60} , underline{60}) to$
$ (underline{2} *2+[c] , underline{66} *2+[0] , underline{20} +[0] , underline{74} , underline{25} , underline{75} , underline{60} , underline{60})$
$ (underline{2} *2+[1] , underline{32} +[0] , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) to $
$ (underline{2} *2+[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
$ (underline{2} *2+[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) to $
$ (underline{4} +[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
$ (underline{5} , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
The reason i use this algorithm is that
- It's easier to multiply two digits at a time, also i happen to remember the multiplication easily for the numbers under 100.
- It is faster than to multiply single digit at a time (but slower than 3 or 4 at a time). We can negotiate this for simplicity as we are doing calculation in mind.
- Also, when you re-iterate and make the final number from left to right you can easily recall the numbers you have just calculated, if not then multiply upcoming pair again.
$endgroup$
add a comment |
$begingroup$
The way which works for me is :
- Take the number, make a pair of two digits starting from right to left.
- Now, multiply each pair by two, and do remember the carry to the next i.e. left pair to it.
- In case the carry from right pair is zero, then it's fine, otherwise add the carry after multiplying this current pair by 2.
For example: here c stands for carry.
A simple example for a power of $2$.
$ 4096 to underline{40} underline{96} $
$ (underline{40} underline{96}) *2 to (underline{40} *2+[c] , underline{96} *2)$
$ (underline{40} *2+[1] , underline{92}) to (underline{81} underline{92}) $
A simple example for a number with odd(5) length.
$ 98765 to underline{9} underline{87} underline{65} $
$ (underline{9} underline{87} underline{65} )*2 to (underline{9} *2+[c] , underline{87} *2+ [c], underline{65} *2 ) $
$ (underline{9} *2+[c] , underline{87} *2+ [1], underline{30} to (underline{9} *2+[1] , underline{75}, underline{30} )$
$ (underline{18}+[1] , underline{75}, underline{30} ) to (underline{19} underline{75} underline{30} ) $
A (pseudo)number this time, using the following Python code
import random
n=random.randint(1,2**(random.randint(2,100)))
print(n)
266103712878030
length is $15$
$266103712878030 to underline{2} underline{66} underline{10} underline{37} underline{12} underline{87} underline{80} underline{30})$
$(underline{2} underline{66} underline{10} underline{37} underline{12} underline{87} underline{80} underline{30}) *2 to $
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[c] , underline{80} *2+[c] , underline{30}*2)$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[c] , underline{80} *2+[c] , underline{30} *2) to$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[1] , underline{60} *2+[0] , underline{60})$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[1] , underline{74}+[1] , underline{60} *2 , underline{60}) to$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[0] , underline{24} +[1] , underline{75} , underline{60} , underline{60})$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[0] , underline{74} *2+[0] , underline{25} , underline{75} , underline{60} , underline{60}) to$
$ (underline{2} *2+[c] , underline{66} *2+[0] , underline{20} +[0] , underline{74} , underline{25} , underline{75} , underline{60} , underline{60})$
$ (underline{2} *2+[1] , underline{32} +[0] , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) to $
$ (underline{2} *2+[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
$ (underline{2} *2+[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) to $
$ (underline{4} +[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
$ (underline{5} , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
The reason i use this algorithm is that
- It's easier to multiply two digits at a time, also i happen to remember the multiplication easily for the numbers under 100.
- It is faster than to multiply single digit at a time (but slower than 3 or 4 at a time). We can negotiate this for simplicity as we are doing calculation in mind.
- Also, when you re-iterate and make the final number from left to right you can easily recall the numbers you have just calculated, if not then multiply upcoming pair again.
$endgroup$
add a comment |
$begingroup$
The way which works for me is :
- Take the number, make a pair of two digits starting from right to left.
- Now, multiply each pair by two, and do remember the carry to the next i.e. left pair to it.
- In case the carry from right pair is zero, then it's fine, otherwise add the carry after multiplying this current pair by 2.
For example: here c stands for carry.
A simple example for a power of $2$.
$ 4096 to underline{40} underline{96} $
$ (underline{40} underline{96}) *2 to (underline{40} *2+[c] , underline{96} *2)$
$ (underline{40} *2+[1] , underline{92}) to (underline{81} underline{92}) $
A simple example for a number with odd(5) length.
$ 98765 to underline{9} underline{87} underline{65} $
$ (underline{9} underline{87} underline{65} )*2 to (underline{9} *2+[c] , underline{87} *2+ [c], underline{65} *2 ) $
$ (underline{9} *2+[c] , underline{87} *2+ [1], underline{30} to (underline{9} *2+[1] , underline{75}, underline{30} )$
$ (underline{18}+[1] , underline{75}, underline{30} ) to (underline{19} underline{75} underline{30} ) $
A (pseudo)number this time, using the following Python code
import random
n=random.randint(1,2**(random.randint(2,100)))
print(n)
266103712878030
length is $15$
$266103712878030 to underline{2} underline{66} underline{10} underline{37} underline{12} underline{87} underline{80} underline{30})$
$(underline{2} underline{66} underline{10} underline{37} underline{12} underline{87} underline{80} underline{30}) *2 to $
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[c] , underline{80} *2+[c] , underline{30}*2)$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[c] , underline{80} *2+[c] , underline{30} *2) to$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[1] , underline{60} *2+[0] , underline{60})$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[1] , underline{74}+[1] , underline{60} *2 , underline{60}) to$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[0] , underline{24} +[1] , underline{75} , underline{60} , underline{60})$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[0] , underline{74} *2+[0] , underline{25} , underline{75} , underline{60} , underline{60}) to$
$ (underline{2} *2+[c] , underline{66} *2+[0] , underline{20} +[0] , underline{74} , underline{25} , underline{75} , underline{60} , underline{60})$
$ (underline{2} *2+[1] , underline{32} +[0] , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) to $
$ (underline{2} *2+[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
$ (underline{2} *2+[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) to $
$ (underline{4} +[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
$ (underline{5} , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
The reason i use this algorithm is that
- It's easier to multiply two digits at a time, also i happen to remember the multiplication easily for the numbers under 100.
- It is faster than to multiply single digit at a time (but slower than 3 or 4 at a time). We can negotiate this for simplicity as we are doing calculation in mind.
- Also, when you re-iterate and make the final number from left to right you can easily recall the numbers you have just calculated, if not then multiply upcoming pair again.
$endgroup$
The way which works for me is :
- Take the number, make a pair of two digits starting from right to left.
- Now, multiply each pair by two, and do remember the carry to the next i.e. left pair to it.
- In case the carry from right pair is zero, then it's fine, otherwise add the carry after multiplying this current pair by 2.
For example: here c stands for carry.
A simple example for a power of $2$.
$ 4096 to underline{40} underline{96} $
$ (underline{40} underline{96}) *2 to (underline{40} *2+[c] , underline{96} *2)$
$ (underline{40} *2+[1] , underline{92}) to (underline{81} underline{92}) $
A simple example for a number with odd(5) length.
$ 98765 to underline{9} underline{87} underline{65} $
$ (underline{9} underline{87} underline{65} )*2 to (underline{9} *2+[c] , underline{87} *2+ [c], underline{65} *2 ) $
$ (underline{9} *2+[c] , underline{87} *2+ [1], underline{30} to (underline{9} *2+[1] , underline{75}, underline{30} )$
$ (underline{18}+[1] , underline{75}, underline{30} ) to (underline{19} underline{75} underline{30} ) $
A (pseudo)number this time, using the following Python code
import random
n=random.randint(1,2**(random.randint(2,100)))
print(n)
266103712878030
length is $15$
$266103712878030 to underline{2} underline{66} underline{10} underline{37} underline{12} underline{87} underline{80} underline{30})$
$(underline{2} underline{66} underline{10} underline{37} underline{12} underline{87} underline{80} underline{30}) *2 to $
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[c] , underline{80} *2+[c] , underline{30}*2)$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[c] , underline{80} *2+[c] , underline{30} *2) to$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[c] , underline{87} *2+[1] , underline{60} *2+[0] , underline{60})$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[c] , underline{12} *2+[1] , underline{74}+[1] , underline{60} *2 , underline{60}) to$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[c] , underline{37} *2+[0] , underline{24} +[1] , underline{75} , underline{60} , underline{60})$
$ (underline{2} *2+[c] , underline{66} *2+[c] , underline{10} *2+[0] , underline{74} *2+[0] , underline{25} , underline{75} , underline{60} , underline{60}) to$
$ (underline{2} *2+[c] , underline{66} *2+[0] , underline{20} +[0] , underline{74} , underline{25} , underline{75} , underline{60} , underline{60})$
$ (underline{2} *2+[1] , underline{32} +[0] , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) to $
$ (underline{2} *2+[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
$ (underline{2} *2+[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) to $
$ (underline{4} +[1] , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
$ (underline{5} , underline{32} , underline{20} , underline{74} , underline{25} , underline{75} , underline{60} , underline{60}) $
The reason i use this algorithm is that
- It's easier to multiply two digits at a time, also i happen to remember the multiplication easily for the numbers under 100.
- It is faster than to multiply single digit at a time (but slower than 3 or 4 at a time). We can negotiate this for simplicity as we are doing calculation in mind.
- Also, when you re-iterate and make the final number from left to right you can easily recall the numbers you have just calculated, if not then multiply upcoming pair again.
edited Dec 29 '16 at 13:16
answered Dec 29 '16 at 12:40


ABcDexterABcDexter
507723
507723
add a comment |
add a comment |
$begingroup$
As a simple trick you can use $(a-b)(a+b)=a^2-b^2$ sometimes. For example
$$102*98=100^2-2^2=9996$$
But it needs to memorize some perfect squares
$endgroup$
add a comment |
$begingroup$
As a simple trick you can use $(a-b)(a+b)=a^2-b^2$ sometimes. For example
$$102*98=100^2-2^2=9996$$
But it needs to memorize some perfect squares
$endgroup$
add a comment |
$begingroup$
As a simple trick you can use $(a-b)(a+b)=a^2-b^2$ sometimes. For example
$$102*98=100^2-2^2=9996$$
But it needs to memorize some perfect squares
$endgroup$
As a simple trick you can use $(a-b)(a+b)=a^2-b^2$ sometimes. For example
$$102*98=100^2-2^2=9996$$
But it needs to memorize some perfect squares
answered Apr 12 '17 at 20:16
user415542
add a comment |
add a comment |
protected by J. M. is not a mathematician Dec 29 '16 at 8:38
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
7
$begingroup$
I usually go left-to-right; this has the advantage of giving me a "guesstimate" of how big it'll get. So, $183times2=200+160+6$ (alternatively, I'm used to angles, so I know $180times 2=360$ off the bat). (In binary of course, it's as simple as appending a $0$. ;)) As for converting binary to decimal: you might be interested in Horner's method: less arithmetic and fuss.
$endgroup$
– J. M. is not a mathematician
Dec 27 '16 at 15:51
9
$begingroup$
This question has the "binary" tag, but it doesn't seem to be related to binary numbers. If you're talking specifically about the binary representation, then just add a zero to the right: $10times 101101010110 = 101101010110color{red}{0}$.
$endgroup$
– Wood
Dec 27 '16 at 15:54
1
$begingroup$
@Wood Sorry, I guess I'm not smart enough about math in general to find the right tag. I was forced to pick one.
$endgroup$
– void.pointer
Dec 27 '16 at 16:00
$begingroup$
@void.pointer Isn't there a mental math tag? I thought there was.
$endgroup$
– Sean English
Dec 27 '16 at 16:49
1
$begingroup$
Note: I might not do it in my head if it’s already full of the coding or engineering problem. Jot it down on paper: sometimes it’s easy to just write down the double too, afterwards, using the left-to-right method but not having to clear up some of your mental scratchpad.
$endgroup$
– JDługosz
Dec 28 '16 at 6:44