На работе у нас проблема с пониманием того, как на самом деле работает метод CString.Format.
Я работаю над существующим проектом, который включает хэш-пароль. Часть, которую я не понимаю, это Format-Method. Например, если вы введете «пароль», другой метод сделает из него 89.498161499544608. Я понимаю, где это происходит, и теперь нужен только двойник.
CString str;
str.Format(_T("%x"), 89.498161499544608);
Я заменил имена переменных фактическим значением, с которым я работаю. В этом случае str становится "e0c52ae8". Я немного поиграл с этим методом.
Если я отформатирую с 15.000000000000020
, результат будет «b», но при использовании 0.000000000000020
результат «86a12b9b». Часть, которую я не понимаю, состоит в том, что если число перед запятой не 15, то моя теория Every second number adds one to the Hex-code
неверна. Когда 15, то 15.000...0001
равно 1, 15.000...0003
равно 2 и т. Д., Но когда 0, результаты равны "9ee75616" для 0.00...0001
и
«6e5b0120» для 0.00...0003