在工作中,我们在理解CString.Format-Method实际工作方式时遇到问题。
我正在处理一个现有项目,其中包括一个密码哈希器。我不了解的部分是格式方法。例如,如果键入“ password”,则另一种方法会使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时,0.00...0001
的结果为“ 9ee75616”,并且
0.00...0003
的“ 6e5b0120”