Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Sure, if you assume everyone has the amazing ability to do decimal to binary conversions in their head.

Also assuming that everyone has the skill to dig through javascript files.



cough https://www.google.com/#&q=231+in+base+2&oq=27+in+ba... Or, you know, Windows Calculator? Or Gcalctool? Or, if you want overkill: http://www.wolframalpha.com/input/?i=231+in+base+2


I certainly didn't do the decimal-binary conversion in my head (mental arithmetic is not my greatest skill). You can open your browser's JS console and use:

    Number(x).toString(2)
x being the decimal value.


  (x).toString(2)


If you're trying to crack a code on developers.google.com, yes I would assume that.


Decoding is easy with pen and paper, if not mentally. You must know your powers of two. In the order that concerns us:

128, 64, 32, 16, 8, 4, 2, 1

----

Let's decompose 231.

----

231 >= 128; That's a 1 in first position. 1

231 - 128 = 103 >= 64; We have a one in the second position. 11.

103 - 64 = 39 >= 32; One in the third position. 111.

39 - 32 = 7 < 16; Zero in the fourth position. 1110.

7 < 8; Zero in the fifth place. 11100

7 >= 4; 111001

7 - 4 = 3 >= 2; 1110011

3 - 2 = 1 >= 1; Final result: 11100111. Enjoy your cats :)


That method is what I did until I went back to school for computer engineering.

All you have to do is integer division by two and keep the remainder. You don't even need to know the powers of two.

Here's an example with 137.

  137 % 2 = 1
  68  % 2 = 0
  34  % 2 = 0
  17  % 2 = 1
  8   % 2 = 0
  4   % 2 = 0
  2   % 2 = 0
  1   % 2 = 1
Now reverse the order and zero extend if necessary.

Final result: 10001001

You can use a similar method to convert the fractional part of a float, but with multiplication.


Neat, thanks for the tip :)


If you spend enough time trying to debug systems that are communicating in binary, its an ability you start to pick up, especially for small numbers.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: