Convert Integer to Hexadecimal and Back Again

Convert integer to hexadecimal and back again

// Store integer 182
int intValue = 182;
// Convert integer 182 as a hex in a string variable
string hexValue = intValue.ToString("X");
// Convert the hex string back to the number
int intAgain = int.Parse(hexValue, System.Globalization.NumberStyles.HexNumber);

from http://www.geekpedia.com/KB8_How-do-I-convert-from-decimal-to-hex-and-hex-to-decimal.html


HINT (from the comments):

Use .ToString("X4") to get exactly 4 digits with leading 0, or .ToString("x4") for lowercase hex numbers (likewise for more digits).

Java converting int to hex and back again

It overflows, because the number is negative.

Try this and it will work:

int n = (int) Long.parseLong("ffff8000", 16);

Convert Integer to Hex in Java

The ˜ isn't a tilde, it is character with unicode 732.

When you convert it to a byte[], you get two bytes if you use UTF-8, -53 and -100

However if you ignore the second one and convert it to a char you get 152 (which is -53 & 0xFF)

You have a number of lossy transformations which makes it impossible to reverse them.

What you can do is convert the character to hexadecimal and back again.

String input = "˜";
String hex = DatatypeConverter.printHexBinary(input.getBytes("UTF-16BE"));
System.out.println("hex: "+hex);
String input2 = new String(DatatypeConverter.parseHexBinary(hex), "UTF-16BE");
System.out.println("input2: "+input2);

prints

hex: 02DC
input2: ˜

This will work for arbitrary Strings (of less than half a billion characters)

Converting int to Hex in C# WinForm

base on this https://www.permadi.com/tutorial/numDecToHex/

class Program
{
static void Main(string[] args)
{
var characters = "0123456789ABCDEF";

int number = 24032;

var hexidecimal = "";

while (number > 0)
{
var remainder = number % 16;
var res = Math.Abs(number / 16);

hexidecimal = characters[remainder] + hexidecimal;

number = res;
}

hexidecimal = "0x" + hexidecimal;

WriteLine(hexadecimal);
}
}

Java Convert integer to hex integer

public static int convert(int n) {
return Integer.valueOf(String.valueOf(n), 16);
}

public static void main(String[] args) {
System.out.println(convert(20)); // 32
System.out.println(convert(54)); // 84
}

That is, treat the original number as if it was in hexadecimal, and then convert to decimal.

How to convert an integer to hexadecimal without the extra '0x' leading and 'L' trailing characters in Python?

Sure, go ahead and remove them.

hex(bignum).rstrip("L").lstrip("0x") or "0"

(Went the strip() route so it'll still work if those extra characters happen to not be there.)

Convert int to hex string

It would be great if you can provide solution for general case, not
this specific case

This is a quick solution that will add a left 0 in the case the hex string length is not a multiple of 2.

StringBuilder sb = new StringBuilder();
sb.append(Integer.toHexString(myInt));
if (sb.length() % 2 > 0) {
sb.insert(0, '0'); // pad with leading zero if needed
}
String hex = sb.toString();


Related Topics



Leave a reply



Submit