Jak przerobić liczbę typu Double na hex?

Jak przerobić liczbę typu Double na hex?
  • Rejestracja: dni
  • Ostatnio: dni
0

cześć jak mogę przerobić double na hex?

FA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 475
0

Jak potrzebujesz kalkulatora na szybko, tutaj masz pierwszy z brzegu: http://gregstoll.dyndns.org/~gregstoll/floattohex/. Jesli chcesz sie dowiedziec jak to w teorii wyglada: http://bytes.com/topic/c/answers/219928-how-convert-float-hex - wystarczy w google wpisac "double to hex"

Gjorni
  • Rejestracja: dni
  • Ostatnio: dni
0

Na przykład:

  1. Java:
Kopiuj
public class DoubleToHex {
	public static void main(String[] args) {
		double a = 23.12315454;
		String aHex = Double.toHexString(a);
		System.out.println(aHex);
	}
}
  1. Python:
Kopiuj
def float_to_hex(f):
    return hex(struct.unpack('<I', struct.pack('<f', f))[0])

float_to_hex(23.12315454)

def double_to_hex(f):
    return hex(struct.unpack('<Q', struct.pack('<d', f))[0])

double_to_hex(23.12315454)

EDIT

PS nie znam się na C++, ale na StackOverflow podają jeszcze przykład dla tego langłedża:
http://stackoverflow.com/questions/497472/double-to-hex-string-hex-string-to-double

EDIT 2

PS 2 Ofkos w internetach znajdą się również przykłady dla innych langłedży, ale cóż... trzeba by wpisać zapytanie w guglach, a to już, jak wiemy, wyższa szkoła jazdy... :(

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
2

Nie podałeś w jakim języku piszesz, więc zakładam, że to brainfuck. Proszę:

Kopiuj
++++++++[>+>++>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>++++++++++++>+++++++++++++>++++++++++++++>+++++++++++++++>++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>>>>-.+<<<<<<<<<<<>>>>>>>>>>>>>+.-<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>.<<<<>>>>>>>>>>>>>++.--<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>>>>>+++.---<<<<<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>.<<<<>>>>>>>>>>>>>++.--<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+.-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>++.--<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>+.-<<<<<<<<<<<<<<<>>>>>>>>>>>>>+++.---<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+++.---<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>.<<<<>>>>>>>>>>>>>>.<<<<<<<<<<<<<<>>>>>>>>>>>>>>++.--<<<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>-.+<<<<<<<<<<<<<>>>>>>>>>>>>>>++.--<<<<<<<<<<<<<<>>>>>>>>>>>>+.-<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>>>>>>>>>+.-<<<<<<<<<<<<>>>>>>>>>>>>>>--.++<<<<<<<<<<<<<<>>>>>>>>>>>>>+.-<<<<<<<<<<<<<>>>>>>>>>>>>+.-<<<<<<<<<<<<>>>>.<<<<>>>>>>>>>>>>>>--.++<<<<<<<<<<<<<<>>>>>>>>>>>>+.-<<<<<<<<<<<<>>>>.<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>+.-<<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>.<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+++.---<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>>>>>>>>>>+.-<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>>>+++.---<<<<<<<<<<<<>>>>>>>>>>>>>+.-<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<.

Nie musisz dziękować

  • Rejestracja: dni
  • Ostatnio: dni
0

@Gjorni
co oznacza to (f)? w nawiasie?

Kopiuj
def float_to_hex(f):
    return hex(struct.unpack('<I', struct.pack('<f', f))[0])
 
float_to_hex(23.12315454)
 
def double_to_hex(f):
    return hex(struct.unpack('<Q', struct.pack('<d', f))[0])
 
double_to_hex(23.12315454)

mógłbym dodać to w ten sposób?

Kopiuj
def float(f):
    return (struct.unpack('<I', struct.pack('<f', f))[0])
 
float_to_hex(23.12315454)
 
def double(f):
    return (struct.unpack('<Q', struct.pack('<d', f))[0])
 
double(23.12315454)

i np uzyć double w ten sposób?

Kopiuj
self.GetChild("cos_value").SetText(str(double(player.cos_points())))

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.