Please ConvertToEnglish()
So, I thought it would be interesting to do something different. How about deciphering code? The challenge is to explain a piece of code by giving a minimalist description in English. We’ll practise understanding code with no comments and only the surrounding context as clues.
Here’s the code
int foo(int para)
{
int temp = para << 3;
return temp + temp + temp;
}
Explain what the function is doing in the simplest possible way. Don't just tell me what it's doing line by line. Tell me what it finally does.
Post your answer in a comment. Bonus points if you can give a reason why it was coded that way (yes, it has a rational explanation). I'll post my answer in a few days time.
You can support me by being a patron or with a one-time donation. You can also tell everyone about the blog and Singularity. Thanks. You're an awesome person.
Tags: converttoenglish, decipher code
Published on 16 July 2008
Comments
3 Responses to “Please ConvertToEnglish()”
Sign up now to get your free ebook of "How to self-publish an online magazine". Your email is kept confidential, and is used only to send information about the magazine.



Hi! I write about maths and programming and other topics of esoteric interest. I'm also the editor of the online magazine Singularity, and you can get the latest issue at the top (it's free!).

It multiplies the input by 24.
e.g.
foo(1) = 24
foo(2) = 48
foo(3) = 72
No idea why it’s written that way?
Mark, that’s correct. As for the bonus answer, it’s not so much the multiplying by 24 part, but the way the calculation was performed.
I’ll post the answer on Friday (got a post lined up for tomorrow already). Hint: it’s something in the area of game programming and a bit of its history.
[...] a previous article, I asked what this [...]