Понимание того, как работает CString.Format - PullRequest
0 голосов
/ 23 апреля 2019

На работе у нас проблема с пониманием того, как на самом деле работает метод 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

...