рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдПрдХ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рдкреВрд░реНрдгрд╛рдВрдХ рдпреБрдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдПред рдЕрдВрдХ 0..9A..F рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ (рдЕрдХреНрд╖рд░ рдХреЗрд╡рд▓ рдмрдбрд╝реЗ рд╣реИрдВ), рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдХреЛрдИ рд╡рд░реНрдг рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЕрдВрдХ рдирд╣реАрдВ рд╣реИрдВред рдЖрдкрдХреЛ рдРрд╕реА рд╕рдВрдЦреНрдпрд╛ рдХреА рджрд╢рдорд▓рд╡ рд╕рдВрдХреЗрддрди рдпреБрдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ 100,000 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред
рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рд▓рд┐рдЦреЗрдВ - рд╕рдмрд╕реЗ рд╕реБрдВрджрд░, рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛, рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА ... рдПрдХ рдЯреНрдпреВрд░рд┐рдВрдЧ рдорд╢реАрди рдкрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХреЗрд╡рд▓ рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ "рдЕрдВрддрд░рд┐рдХреНрд╖, 0, 1" (рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рджрд░реНрдЬ рди рдХрд░реЗрдВ), рдФрд░ рдЪрд╛рд░ рдмрд┐рдЯреНрд╕ (рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдпрд╛ рдирд╣реАрдВ) рдХреЗ рд╕рд╛рде рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдирдВрдмрд░ рд▓рд┐рдЦреЗрдВ - рдЕрдкрдиреЗ рд╡рд┐рд╡реЗрдХ рдкрд░)ред рдмреНрд░реЗрдирдлрдХ рдкрд░, рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджрд░реНрдЬ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпреБрдкреАрдбреАред рдмрд┐рд▓реНрдЯ-рдЗрди рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА BigNum рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдмреЗрд╢рдХ, рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдЪрд▓реЛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░рддреЗ рд╣реИрдВ!
рдмреАрдЬ рдХреЗ рд▓рд┐рдП - C # рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди (рдЬрд┐рд╕реЗ рди рддреЛ рд╕реБрдВрджрд░ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рди рдЫреЛрдЯрд╛, рди рд╣реА рдкреНрд░рднрд╛рд╡реА):
рд╕реНрдерд┐рд░ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ Hex2Dec (рд╕реНрдЯреНрд░рд┐рдВрдЧ x) {int l = x.Length; int ll = l + l / 4 + 3; sbyte [] m = new sbyte [ll]; int i = l; foreach (char c in x) m [- i] = (sbyte) (c <'A'; c-'0 ': c-'A' + 10); int lk = ll; рдЬрдмрдХрд┐ (l> 0) {int k = 0, l1 = 0; рдЬрдмрдХрд┐ (l> 0) {k = (k << 4) + m [- l]; m [l] = (sbyte) (k / 10); if (l1 == 0 && k> = 10) l1 = l + 1; k% = 10; } m [- lk] = (sbyte) (k + 48); l l1 рд╣реИ; } рд╕реНрдЯреНрд░рд┐рдВрдЧ рд░реЗрд╕; рдирд┐рд╢реНрдЪрд┐рдд (sbyte * c = m) {res = new string (c, lk, ll-lk); } рд╡рд╛рдкрд╕ Res; }