рдлреНрд▓реИрд╢ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕

рдкрд░рд┐рдЪрдп


рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдерд╛ рдХрд┐ рд╣рдореЗрдВ рдлреНрд▓реИрд╢-рдХреВ рд╕реЗ рдбреЗрдЯрд╛ рдЬрд▓реНрджреА рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЙрдкрдХрд░рдг рдкрд░ рд▓реЛрд╣реЗ рдХреЗ рдвреЗрд░ рдиреЗ рд╣рдореЗрдВ рдЧрддрд┐ рдореЗрдВ рд╕реАрдорд┐рдд рдХрд░ рджрд┐рдпрд╛ред рдирд┐рд░реНрдорд╛рддрд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрднреА рднреА рдЦрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрди-рд╡реЗрдВ рдореЙрдбрд▓ рдЦрд░реАрджрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдФрд░ рдкреБрд░рд╛рдирд╛ рдмрд╕ рд╢реЗрд▓реНрдл рдкрд░ рдзреВрд▓ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛: рдореИрдВ рдПрдХ рдирдпрд╛ рдЙрдкрдХрд░рдг рдЦрд░реАрджрдиреЗ рдХреЗ рдмрд┐рдирд╛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреИрд╕реЗ рддреЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд░рдиреЗ рдЖрдпрд╛ рдерд╛, рдФрд░ рдореИрдВ рд╕рдлрд▓ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реБрдЖ рдФрд░ рдпрд╣ рдкрдж рд╣реЛрдЧрд╛ред

рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╡рд░рдг


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ: рдлрд╝рд╛рдЗрд▓ рдХреНрдпрд╛ рд╣реИ? рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╕рд░рд▓ рдереЗ: рдлрд╝рд╛рдЗрд▓ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рдХреНрд░рдо рд╣реИред рдПрдХ рдмрд╛рдЗрдЯ рдмрд┐рдЯреНрд╕ рдХрд╛ рдПрдХ рдХреНрд░рдо рд╣реИред
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдлреНрд▓реИрд╢ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╢реМрдХрд┐рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдпрд╣ рд╣реИ: рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдПрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИ (рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ: 1 рд╕реЗрд▓ - 1 рдХреНрд╖реЗрддреНрд░-рдкреНрд░рднрд╛рд╡ рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░)ред рдПрдХ рд╕реЗрд▓ рдореЗрдВ, рдЖрдк 1 рдмрд┐рдЯ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЧрддрд┐ рдЙрд╕ рдЧрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдЬрд┐рд╕ рдкрд░ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗрд▓ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╕реЗрд▓ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд▓рд┐рдЦрдиреЗ рдкрд░ рд╣реА рдЧрддрд┐ рдмрдврд╝рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдЕрдВрддрд┐рдо рдХрдерди рдмреЗрддреБрдХрд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрд╛рдирдХрд╛рд░реА рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реЗрдЯ рд╣реИред рдФрд░ рдЬрд╣рд╛рдВ рдореМрдХрд╛ рд╣реИ, рд╡рд╣рд╛рдВ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдлрд┐рд░ рдПрдХ рд╢реМрдХрд┐рдпрд╛ рдореБрдЭ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЬрд╛рдЧ рдЙрдард╛, рдФрд░ рдореИрдВрдиреЗ рдорд╛рди рд▓рд┐рдпрд╛ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирдВрдмрд░ 1 рдФрд░ 0 рдЙрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЗ, рдФрд░ рдЙрдирдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ = 0.5 рдереАред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░, рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдЙрди рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдЙрд╕ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╕реЗрдЯ рд╣реЛрддреА рд╣реИрдВ, рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИ? рдЗрд╕рд▓рд┐рдП рд▓рд┐рдЦрдиреЗ рдХреА рдЧрддрд┐ рдереЛрдбрд╝реА рдмрдврд╝рдиреА рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрди рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд░рд╛рдЬреНрдп рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВред рдореИрдВрдиреЗ 1 рдФрд░ 0 рдХреЛ рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗ рдЖрдЬрд╝рдорд╛рдпрд╛ред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреБрдЫ рдмрд╛рддреЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдЖрдЧреЗ рдмрдврд╝реЛред
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдлрд╝рд╛рдЗрд▓ рдкреАрдврд╝реА

рд╣рдо рдПрдХ рдЫреЛрдЯрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ 1MB рдлрд╝рд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдХреЙрдХрдЯреЗрд▓ рд╕реА рдФрд░ рд╕реА ++ (рдареАрдХ рд╣реИ, рдпрд╣ рд╣реБрдЖ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
#include <iostream> #include <fstream> #include <stdlib.h> #include <time.h> #define fsize 1048576 using namespace std; int main(){ fstream f; f.open("rand_file", ios::out); srand(time(0)); for(int i=0; i<fsize; ++i){ f<<(char)(rand()%255); } f.close(); return 0; } 

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╣рдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмрд╛рдЗрдЯреНрд╕ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдЧрддрд┐ рдорд╛рдк

рдлрд┐рд░ рд╕реЗ рд╣рдо рд╕рдВрдХрд▓рдХ рдХреЛ рдЧрд░реНрдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░, рд╣рдо рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЦрд┐рд▓рд╛рддреЗ рд╣реИрдВ:
 #include <iostream> #include <fstream> #include <sys/time.h> #include <fcntl.h> using namespace std; inline long long gettimeus() { struct timeval tv; gettimeofday( &tv, NULL ); return (long long) tv.tv_sec * 1000000LL + (long long) tv.tv_usec; } int main(int argc, char **argv) { int in = open(argv[1], O_RDONLY); int out = open(argv[2], O_WRONLY | O_CREAT); int size = lseek(in, 0, SEEK_END); lseek(in, 0, SEEK_SET); if (size > 0){ char *fin = new char[size]; long long tmIn = gettimeus(); for(int i=0; i<size; ++i) read (in, &(fin[i]), 1); tmIn = gettimeus() - tmIn; cout<<"Time read: "<<tmIn<<endl; long long tmOut = gettimeus(); for(int i=0; i<size; ++i) write(out, &(fin[i]), 1); tmOut = gettimeus() - tmOut; cout<<"Time write: "<<tmOut<<endl; long long tmIF = gettimeus(); int s = size*8; for(int i=0; i<s; ++i) if (true == false); tmIF = gettimeus() - tmIF; cout<<"Time if: "<<tmIF<<endl; delete [] fin; } close(in); close(out); return 0; } 

рдпрд╣рд╛рдБ рдпрд╣ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ:
рдЧреЗрдЯрдЯрд╛рдЗрдо () рдлрд╝рдВрдХреНрд╢рди рдЧрд┐рдирддреА рдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ sys / time.h рдирд╣реАрдВ рд╣реИред рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдХреЗ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдорд╛рд▓рд┐рдХреЛрдВ рдХреЛ рдХрд┐рд╕реА рднреА рд╕рдВрдХрд▓рди рдХреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЛ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд▓рд╛, рдереЛрдбрд╝рд╛ рдХреЛрдбред рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рджреЛ рддрд░реНрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ:
1. рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ред
2. рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ред
рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдкрд░ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп рдХреЛ рдорд╛рдкрддрд╛ рд╣реИред рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рд░реАрдб рд░реАрдб () рдФрд░ рд░рд╛рдЗрдЯ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЦреИрд░, рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рддреБрд▓рдирд╛ рдХрд╛ рд╕рдордп рдорд╛рдкрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ 10 рдмрд╛рд░ рдЪрд▓рд╛рдПрдВ, рдФрд░ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рдФрд╕рдд рдХрд░реЗрдВ:
рдкрдврд╝реЗрдВрд▓рд┐рдЦреЗрдВрдЕрдЧрд░
296,1271,082,888.724024.9

рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдСрдкрд░реЗрд╢рди рддреБрд▓рдирд╛ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдзреАрдореА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╣реИред рдЖрдЧреЗ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдордп рдХреА рдЕрдиреНрдп рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддреБрд▓рдирд╛ рдХреЗ рд╕рдордп рд╣рд░ рд╕рдордп рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
рддреБрд▓рдирд╛ - резред
рд░рд┐рдХреЙрд░реНрдб - 45.07ред
рдкрдврд╝рдирд╛ - 12.33ред
рд╡рд╣ рд╕рдм рд╣реИред рдЕрдм рдХреБрдЫ рднреА рд╣рдореЗрдВ рдЕрдиреБрдХрд░рдг рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред
рдкреНрд░рджрд░реНрд╢рди рд░реЗрдЯрд┐рдВрдЧ

рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╕рд░рд▓ рд╣реИ: рд╣рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдЯ рдХреЛ рдереЛрдбрд╝рд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рд╣рдо рдбрдм рдХреЗ рд╕рдордп рдХреА рдЧрд┐рдирддреА рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
 #include <iostream> #include <fstream> #include <sys/time.h> #include <fcntl.h> #include <stdio.h> #include <string.h> using namespace std; const double WRITE = 45.07; const double READ = 12.33; const double IF = 1.0; bool *translateToBitArray(const char *array, int size); int main(int argc, char **argv) { if (argc > 1){ int in = open(argv[1], O_RDONLY); int size = lseek(in, 0, SEEK_END); lseek(in, 0, SEEK_SET); if (size > 0){ char *fin = new char[size]; bool *bFOut = new bool[size*8]; //    for(int i=0; i<size; ++i) read (in, &(fin[i]), 1); bFOut[0] = true; for(int i=1; i<size*8; ++i) //     bFOut[i] = !bFOut[i-1]; bool *bArr = translateToBitArray(fin, size);//     double timeLinear = 0; double timeOpt = 0; timeLinear = WRITE*size*8; //    bool flag = bFOut[0]; //  for(int i=0; i<size*8; ++i){ //  timeOpt += IF; if (bArr[i] != flag){ bFOut[i] = bArr[i]; timeOpt += WRITE; } flag = !flag; } // flag = false; for(int i=0; i<size*8; ++i) if (bArr[i] != bFOut[i]){ flag = true; break; } if (flag) printf("ERROR\n"); printf("Time linear = %.6lf\nTime opt = %.6lf\n",timeLinear, timeOpt); delete [] fin; delete [] bFOut; } close(in); } return 0; } bool *translateToBitArray(const char *array, int size) { bool *bArr = new bool[size*8]; bool *tmp = new bool[8]; int pos = 0; for(int i=0; i<size; ++i){ unsigned char c = array[i]; int ppp = 8; fill_n(tmp, 8, 0); while (c != 0){ tmp[ppp--] = (c & 1); c = c >> 1; } memcpy(&(bArr[pos]), tmp, 8); pos += 8; } delete [] tmp; return bArr; } 

рдХреЛрдИ рдЬрд╛рдБрдЪ рдирд╣реАрдВ, рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВред рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдирд╣реАрдВ - рд╣рдо рдмрд╛рд╣рд░ рдЙрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдмрд╛рдд рд╣реИред рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ (рдкрд╣рд▓реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ, рдФрд░ рдлрд┐рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ) рдкрд░ 10 рдмрд╛рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рддреЗ рд╣реИрдВред

рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдо


рдирддреАрдЬрддрди, рд╣рдо рд╕рд╛рдзрд╛рд░рдг рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ ~ 1.71 рдЧреБрдирд╛ рдХрд╛ рддреНрд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рдорд░рд╣рдо рдореЗрдВ рдЙрдбрд╝рдирд╛


рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ (рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдореБрдлреНрдд рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЧрддрд┐ рдХреЛ рдзреАрдорд╛ рдХрд░рдХреЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдмрд┐рдЯреНрд╕ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдкреНрд▓рд╕ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж рд╡рд╕реВрд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛, рдЖрджрд┐ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИрдВред
рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмрд┐рдЯреНрд╕ рдХреЛ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдмреЗрд╢рдХ, рдЗрд╕рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛрдиреЗ рдХреА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реИ (рддрдм рдУрдПрд╕ рдХреЛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ)ред рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рдЬрдЯрд┐рд▓рддрд╛ рдХреА рднреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдХрд╕реНрдорд┐рдХ рдЦрд░рд╛рдмреА (рдкрдврд╝реЗрдВ: "рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╛рд╕реНрдпрд╛ рдиреЗ рдПрдХ рдлреНрд▓реИрд╢ рдбреНрд░рд╛рдЗрд╡ рдирд┐рдХрд╛рд▓реА") рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдФрд░ рдЕрд╡рд┐рд╢реНрд╡рд╛рд╕ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдмреЗрд╢рдХ, рдкреНрд▓рд╕рд╕ рднреА рд╣реИрдВ:
  1. рд░рд┐рдХреЙрд░реНрдб рд╡реГрджреНрдзрд┐ рд▓рдЧрднрдЧ 2 рдЧреБрдирд╛ред
  2. рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдЕрд▓реНрдЯреНрд░рд╛рдлрд╛рд╕реНрдЯ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА "рдореЗрдЧрд╛ рдирдИ" рддрдХрдиреАрдХреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдбреНрд░рд╛рдЗрд╡ рдмреЗрдЪрдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рд╣реИ)ред
  3. рдпрд╣ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕реЗрд╡рд╛ рдЬреАрд╡рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рд▓реЗрдХрд┐рди рддрдереНрдп рдирд╣реАрдВ) рд╕рдВрднрд╡ рд╣реИред

рдХреБрдЫ рдЗрд╕ рддрд░рд╣ред рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИред


Source: https://habr.com/ru/post/In135064/


All Articles