Re:Ten Ways to Check if an Integer Is a Power Of Two in C
by zxw on Tuesday July 26, 2011 @03:58PM
(#2809217)
Here is the code from the first test.[0] It increments a variable and prints a message if their is an inconsistency. I left it running till it reached 1,351,773,471 and didn't come up with any inconsistencies.
I then modified the test[1] to look for inconsistencies where they were most likely to be found, ie ±1 of 2n. I reached n being 1024 before python complained about a 'Result too large'.
[0] http://paste.pound-python.org/show/10067/
[1] http://paste.pound-python.org/show/10068/
Edit: just reread about the 1 in 2 billion chance, I'll leave the first test running longer to make sure.
Re:Ten Ways to Check if an Integer Is a Power Of Two in C
by lambda_cube on Tuesday July 26, 2011 @05:07PM
(#2809495)
Nice to see some experimentation. :)
I tested all 2^31 non-negative integers, which is 2147483648 values. If I remember correctly, the value that was wrong was large, probably between 2^30 and 2^31. Java is pretty fast and I think this took tens of minutes. Python is about 20 times slower so it may take hours for you.
That was Java and your example is in Python, there could be some difference. If you try and compare in Python, please tell us the result.