• 0

[JAVA] Big Integer to Binary


Question

13 answers to this question

Recommended Posts

  • 0

BigInteger does contain a radix feature, allowing you to supply the base-radix number for the instance:

BigInteger myInt = new BigInteger("12");
String binaryString = myInt.toString(2);

The toString() method can take an integer argument to represent the radix value (the base-radix value, e.g. base-2, base-10, base-16 etc). When the method runs, it will convert the number into the binary representation, so the above example should output the myInt value as the binary representation of 12 = '11000'.

I haven't done java in a while (it's mainly because I hate it), so I could be wrong!

  • 0

You can also do the same thing to take a binary integer and make it a BigInteger:

String binaryString = "1010110101011010101010101101010101100101011010001010001100101110";
BigInteger bigInt = new BigInteger(binaryString, 2);

Untested, but according to the docs, it should work. That constructor has been there since J2SE 1.3 at least. :)

  • 0
  Primexx said:
care to explain?

I could, but Wikipedia explains it so much better - http://en.wikipedia.org/wiki/Balanced_ternary

Simply put, there are three values, like in normal (unbalanced) ternary: -1, 0 and 1, which are easily represented using '-', '0' and '+' respectively.

The idea is the same as in any base. Multiply the place value by the value at that place and do the same for the rest. Then add them up. Example:

+-0- (balanced ternary) to decimal:

+ x 3^3 = 1 x 3^3 = 1 x 27 = 27
- x 3^2 = -1 x 3^2 = -1 x 9 = -9
0 x 3^1 = 0 x 3^1 = 0 x 3 = 0
- x 3^0 = -1 x 3^0 = -1 x 1 = -1

(27) + (-9) + (0) + (-1) = 18 + -1 = 17

Strange? Not really. Also, there is no need for a sign bit, unlike binary. -+ is -3 + 1 = -2. However, if you thought of the '-' as a sign bit like it is in binary, then wouldn't it really be ------...---+ ? But then you're subtracting A LOT, not just denoting a sign. So techically, you can write -+ as 000000...00-+. The same is true for positive numbers as well. In other words, all values would be unsigned, and positive and negative values could be represented equally!

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • The only thing Made in the USA is the two morons running the company
    • Nvidia 576.80 WHQL graphics driver fixes 5090 FE on idle, adds new games, and more by Taras Buria Nvidia has released a new graphics driver with support for new games and a long list of various fixes. If you have a compatible graphics card, you can download driver 576.80 WHQL. It adds optimizations and day-0 support for FBC: Firebreak, DLSS 4 and multi-frame generation for REMATCH, and path tracing support for DOOM: The Dark Ages. Fixed gaming bugs in driver 576.80 include the following: Dune: Awakening: stability issues EA Sports FC 25: stability issues Dragons Dogma 2: displays shadow flicker Clair Obscur: Expedition 33: stability issues Enshrouded: crashes after launching game Monster Hunter World: stability issues when playing in DX12 mode Gray Zone Warfare: stability issues Marvel Rivals: stability issues Ghost of Tsushima Directors Cut: Flickering/corruption around light sources GTA V Enhanced: stability issues Honor of Kings: World: stability issues Forza Horizon 5: stability issues Indiana Jones and The Great Circle: Image corruption And here is the list of general bugs that have been fixed: GeForce RTX 5090 FE acoustic improvements for idle and low loads Changing a setting in the NVIDIA Control Panel -> Manage 3D Settings may trigger shader disk cache rebuild Twinmotion: Bugcheck when attempting to launch Adobe Substance 3D Painter: showing viewport corruption after baking BlackmagicDesign: UI overlay in Fusion page is not displayed correctly Video playback in a web browser may show brief red/green flash corruption Videos captured with NVIDIA App may appear washed out after editing with the Windows Photos app Certain DisplayPort 1.4 monitors may display random black screen flicker when connected to DisplayPort 2.1 graphics card In addition to the new driver, Nvidia released a new version of the Nvidia app, which now supports DLSS 4 override options under Driver Settings > Graphics for supported titles. With today's release, DLSS override is available for 46 new games, such as DCS World, F1 25, Frostpunk 2, Avowed, and more. The full list of new games is available here. Also, the Nvidia app now has optimal settings for Dune: Awakening, F1 25, FBC: Firebreak, and REMATCH. You can download the driver Nvidia 576.80 WHQL from the official website or the Nvidia app. Full release notes are available here (PDF).
  • Recent Achievements

    • Experienced
      dismuter went up a rank
      Experienced
    • One Month Later
      mevinyavin earned a badge
      One Month Later
    • Week One Done
      rozermack875 earned a badge
      Week One Done
    • Week One Done
      oneworldtechnologies earned a badge
      Week One Done
    • Veteran
      matthiew went up a rank
      Veteran
  • Popular Contributors

    1. 1
      +primortal
      703
    2. 2
      ATLien_0
      271
    3. 3
      Michael Scrip
      213
    4. 4
      +FloatingFatMan
      186
    5. 5
      Steven P.
      143
  • Tell a friend

    Love Neowin? Tell a friend!