{"id":349015,"date":"2023-06-19T15:01:40","date_gmt":"2023-06-19T15:01:40","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=349015"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=349015","title":{"rendered":"<span>\u0420\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u0441 \u043d\u0443\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/742620\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/-e\/dl\/ci\/-edlcilibunk0nb5dswjlagapd0.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/-e\/dl\/ci\/-edlcilibunk0nb5dswjlagapd0.jpeg\" data-blurred=\"true\"\/><\/div>\n<p><\/a><br \/>  \u042f \u0438\u0437\u0443\u0447\u0438\u043b, \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432. \u041e\u0434\u043d\u0430 \u0438\u0437 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u043f\u043e\u0447\u0442\u0438 \u0432 <b><font color=\"#3AC1EF\">\u0442\u0440\u0438 \u0440\u0430\u0437\u0430<\/font><\/b> \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c <b><font color=\"#3AC1EF\">math.h<\/font><\/b>, \u043d\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u043c\u0438\u0440\u0438\u0442\u044c\u0441\u044f \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439.<\/p>\n<p>  \u0417\u0430\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u043b\u0438 \u0432\u044b \u043a\u043e\u0433\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c, \u043a\u0430\u043a \u0432 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043b\u044e\u0431\u0438\u043c\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0442\u0440\u0438\u0433\u043e\u043d\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0441\u0438\u043d\u0443\u0441? \u042d\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0447\u0442\u043e \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0432\u0435\u0434\u044c \u0442\u0430\u043a? \u041d\u0443 \u0443\u0436 \u043d\u0435\u0442. \u041f\u043e\u0447\u0442\u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a.<\/p>\n<p>  \u041c\u043e\u0451 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u0441 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043c\u043e\u0439 \u0434\u0440\u0443\u0433 \u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0430 <a href=\"http:\/\/stephenmarz.com\">\u0421\u0442\u0438\u0432\u0435\u043d \u041c\u0430\u0440\u0446<\/a> \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043d\u0430\u0434 \u044f\u0434\u0440\u043e\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u044f \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u0430\u043b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430. \u042f \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u00abhello, world\u00bb \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u0435\u0433\u043e \u044f\u0434\u0440\u043e \u043d\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 C (\u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u043f\u0440\u043e\u0449\u0430\u0439 <i>math.h<\/i>!), \u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 \u044f\u0432\u043b\u044f\u043b\u0430\u0441\u044c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 RISC-V (\u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u043e\u0434\u043e\u0431\u0438\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <i>fcos<\/i> Intel!).<\/p>\n<p>  \u0422\u0430\u043a \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u043c\u043e\u0451 \u0434\u043e\u043b\u0433\u043e\u0435 \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0421\u0442\u043e\u0438\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u044f \u043d\u0435 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a \u0438 \u043d\u0435 \u0433\u0443\u0440\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0437\u0430 \u0434\u0435\u0441\u044f\u0442\u044c \u043b\u0435\u0442 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043b\u043b\u0435\u0434\u0436\u0435 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438 \u0438 computer science \u044f \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0442\u0430\u043a \u0438 \u043d\u0435 \u043f\u0440\u043e\u0448\u0451\u043b \u043a\u0443\u0440\u0441 \u0442\u0440\u0438\u0433\u043e\u043d\u043e\u043c\u0435\u0442\u0440\u0438\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0441\u0432\u043e\u0438\u0445 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044f\u0445 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u043d\u0430 C. \u041c\u043e\u0438 \u0446\u0435\u043b\u0438 \u0431\u044b\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438:<\/p>\n<ul>\n<li><i>\u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e<\/i> \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u0434\u0430\u0436\u0435 \u044f \u043c\u043e\u0433 \u043f\u043e\u043d\u044f\u0442\u044c \u043a\u043e\u0434.<\/li>\n<li><i>\u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e<\/i> \u0442\u043e\u0447\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u043d\u0438 \u043e\u0434\u0438\u043d \u0441\u043c\u0435\u0440\u0442\u043d\u044b\u0439 \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u043b \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438.<\/li>\n<li><i>\u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e<\/i> \u0431\u044b\u0441\u0442\u0440\u0430\u044f, \u0447\u0442\u043e\u0431\u044b \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0432\u0438\u0434\u0435\u043e\u0438\u0433\u0440\u0435.<\/li>\n<\/ul>\n<p>  \u041c\u044b \u0438\u0437\u0443\u0447\u0438\u043c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439. \u0422\u0430\u043a \u043a\u0430\u043a \u044f \u043d\u0435 \u043c\u0430\u0441\u0442\u0435\u0440 \u044f\u0437\u044b\u043a\u0430 C, \u0442\u043e \u0431\u0443\u0434\u0443 \u0438\u0437\u0431\u0435\u0433\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0442\u0440\u044e\u043a\u043e\u0432 \u0438 \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439 (\u043d\u043e \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043e\u043d\u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b, \u0442\u043e \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043c\u043d\u0435!). \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u044f \u0447\u0430\u0441\u0442\u043e \u0431\u0443\u0434\u0443 \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0431\u043e\u0440 \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 \u0431\u043e\u043b\u0435\u0435 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0441\u0432\u043e\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. \u0412\u0435\u0441\u044c \u043a\u043e\u0434 \u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/github.com\/AZHenley\/cosine\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 GitHub<\/a>.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041f\u043e\u0447\u0435\u043c\u0443 \u043c\u043d\u0435 \u0432\u0430\u0436\u0435\u043d \u043a\u043e\u0441\u0438\u043d\u0443\u0441?<\/font><\/h2>\n<p>  \u0417\u0430 \u0432\u0441\u0451 \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u0434\u0438\u043d\u0433\u0430 \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438: \u0438\u0433\u0440\u044b, \u0438\u0433\u0440\u044b, \u0438\u0433\u0440\u044b.<\/p>\n<pre><code class=\"cpp\">function move(obj) {     obj.x += obj.speed * Math.sin(obj.rotation);     obj.y += obj.speed * Math.cos(obj.rotation); }<\/code><\/pre>\n<p>  \u042d\u0442\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043a\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u043e \u0432\u0441\u0435\u0445 <a href=\"https:\/\/austinhenley.com\/blog\/8lessons8games.html\">\u0441\u0432\u043e\u0438\u0445 \u0438\u0433\u0440\u0430\u0445<\/a> \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0432 \u043d\u0443\u0436\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u042d\u0442\u043e \u043c\u043e\u0433 \u0431\u044b\u0442\u044c \u0438\u0433\u0440\u043e\u043a \u0432 \u0432\u0438\u0434\u0435 \u0441\u0432\u0435\u0440\u0445\u0443 \u0438\u043b\u0438 \u043b\u0435\u0442\u0430\u044e\u0449\u0438\u0435 \u043f\u043e \u044d\u043a\u0440\u0430\u043d\u0443 \u0441\u043d\u0430\u0440\u044f\u0434\u044b.<\/p>\n<p>  \u0412\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/n1\/tk\/nv\/n1tknv9m_iu1vrrx6e4k-_noap8.gif\" data-src=\"https:\/\/habrastorage.org\/webt\/n1\/tk\/nv\/n1tknv9m_iu1vrrx6e4k-_noap8.gif\"\/><\/div>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043e\u043b\u0433\u043e\u2026<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0421\u043f\u043e\u0441\u043e\u0431\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430<\/font><\/h2>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u044f \u0440\u0435\u0448\u0438\u043b \u0437\u0430\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u044d\u0442\u0443 \u043f\u043e\u0442\u0443\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044e\u044e \u043a\u0440\u043e\u043b\u0438\u0447\u044c\u044e \u043d\u043e\u0440\u0443, \u0442\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u0441\u043f\u043e\u0441\u043e\u0431 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0438 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 <b><font color=\"#3AC1EF\">\u0440\u044f\u0434\u0430 \u0422\u0435\u0439\u043b\u043e\u0440\u0430<\/font><\/b>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/k6\/jo\/f1\/k6jof1dph6wsvqsk1keg8cutsnu.png\" data-src=\"https:\/\/habrastorage.org\/webt\/k6\/jo\/f1\/k6jof1dph6wsvqsk1keg8cutsnu.png\"\/><\/div>\n<p>  \u041f\u043e\u0445\u043e\u0436\u0435, \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u0432 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u0440\u043e\u0432\u043d\u044f\u0445, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u0432 \u0432\u044b\u0441\u043e\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445. \u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u043b\u0435\u043d\u043e\u0432, \u0442\u0435\u043c \u0442\u043e\u0447\u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u044f.<\/p>\n<p>  \u041c\u043d\u0435 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u043f\u0440\u0438\u0448\u043b\u0430 \u043c\u044b\u0441\u043b\u044c \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 <b><font color=\"#3AC1EF\">\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e\u0438\u0441\u043a\u0430<\/font><\/b>. \u042d\u0442\u043e \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u0434\u043b\u044f \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0430, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0431\u044b\u043b\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c\u0438, \u0442\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0447\u0430\u0441\u0442\u043e. \u041c\u043d\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 GitHub \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u043b\u044f \u0442\u0440\u0438\u0433\u043e\u043d\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430, \u043d\u043e \u0443\u0432\u0435\u0440\u0435\u043d, \u0447\u0442\u043e \u043e\u043d\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0432 \u043c\u043e\u0438\u0445 \u043f\u043e\u0438\u0441\u043a\u0430\u0445 \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b\u0441\u044f \u0442\u0435\u0440\u043c\u0438\u043d <b><font color=\"#3AC1EF\">CORDIC<\/font><\/b>. \u042d\u0442\u043e \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 \u0441\u0438\u043d\u0443\u0441\u0430 \u0438 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f, \u0431\u0438\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0434\u0432\u0438\u0433\u0430 \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e\u0438\u0441\u043a\u0430. \u0415\u0433\u043e \u0447\u0430\u0441\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u043b\u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043a\u043e\u043d\u0446\u0430 1950-\u0445, \u0438\u043b\u0438 \u0432 \u041f\u041e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0432 \u043c\u0430\u043b\u043e\u043c\u043e\u0449\u043d\u044b\u0445 CPU \u0438\u043b\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u0432 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445. \u042d\u0442\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u0431\u044b\u043b \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0435\u043d \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c, \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0432 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0441\u043e\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 Intel 8087, \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445 TI-85 \u0438 HP-48G. \u041e\u0434\u043d\u0430\u043a\u043e \u044f \u043d\u0435 \u0441\u043c\u043e\u0433 \u043d\u0430\u0439\u0442\u0438 \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0435\u0433\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043d\u0451\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 <a href=\"https:\/\/en.wikipedia.org\/wiki\/CORDIC\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a> \u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438 \u0438\u043b\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 <a href=\"https:\/\/dl.acm.org\/doi\/abs\/10.1145\/1457838.1457886\">\u043d\u0430\u0443\u0447\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a> \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u0430; \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0435\u0433\u043e <a href=\"https:\/\/people.sc.fsu.edu\/~jburkardt\/c_src\/cordic\/cordic.html\">\u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e<\/a> \u043d\u0430 C. \u042f \u043d\u0435 \u0431\u0443\u0434\u0443 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0441 \u043d\u0438\u043c, \u043d\u043e \u043c\u043d\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u043d \u0441\u0435\u0431\u044f \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442. \u0412\u043e\u0442 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 <a href=\"https:\/\/dl.acm.org\/doi\/abs\/10.1145\/1457838.1457886\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a>:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/mn\/qf\/vr\/mnqfvrjuldebug4gy-0kdxi7fk0.png\" data-src=\"https:\/\/habrastorage.org\/webt\/mn\/qf\/vr\/mnqfvrjuldebug4gy-0kdxi7fk0.png\"\/><\/div>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0430 <b><font color=\"#3AC1EF\">fcos<\/font><\/b> \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 Intel. \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0432 \u0440\u0430\u0434\u0438\u0430\u043d\u0430\u0445 \u0432 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435 \u043e\u0442 -2^63 \u0434\u043e 2^63, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c\u043e\u043c\u0443 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 FPU, \u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c. \u041d\u0435 \u0437\u043d\u0430\u044e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043b\u0438 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 Intel \u0441\u043f\u043e\u0441\u043e\u0431 CORDIC, \u0430 \u0435\u0441\u043b\u0438 \u0434\u0430, \u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043b\u0438 \u043e\u043d \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e \u0438\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e. \u0414\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043a\u043e\u0441\u0438\u043d\u0443\u0441, \u044f \u043d\u0435 \u0441\u043c\u043e\u0433 \u043d\u0430\u0439\u0442\u0438 \u043d\u0438 \u043e\u0434\u043d\u043e\u0439, \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 fcos. \u0425\u043e\u0442\u044f \u043e\u043d\u0430 \u0431\u044b\u0441\u0442\u0440\u0430, \u0431\u044b\u043b\u0430 <a href=\"http:\/\/notabs.org\/fpuaccuracy\/\">\u0437\u0430\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430<\/a> \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u0430, \u043a\u043e\u0433\u0434\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0430\u0435\u0442\u0441\u044f \u043a \u0447\u0438\u0441\u043b\u0430\u043c, \u043a\u0440\u0430\u0442\u043d\u044b\u043c pi\/2. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u043d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 <a href=\"https:\/\/mudongliang.github.io\/x86\/html\/file_module_x86_id_89.html\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a> \u0438\u043b\u0438 \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 <a href=\"https:\/\/software.intel.com\/sites\/default\/files\/managed\/39\/c5\/325462-sdm-vol-1-2abcd-3abcd.pdf\">\u0441\u043f\u0440\u0430\u0432\u043a\u0435<\/a> Intel.<\/p>\n<p>  \u041d\u0430\u0434\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043b\u044e\u0431\u043e\u0439 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0432 \u0437\u0434\u0440\u0430\u0432\u043e\u043c \u0443\u043c\u0435 \u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <b><font color=\"#3AC1EF\">math.h<\/font><\/b> \u044f\u0437\u044b\u043a\u0430 C. \u0418 \u0434\u043b\u044f \u043f\u043e\u0432\u0441\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0442\u0430\u043a \u0438 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0442\u044c. \u041d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e. \u042f \u0441\u0440\u0430\u0432\u043d\u0438\u043b \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u0438\u0437 math.h \u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u0441 Wolfram Alpha. \u0412\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e math.h \u0442\u043e\u0447\u043d\u0430 \u0434\u043e 15 \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439, \u0430 \u044d\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043c\u043d\u0435 \u043a\u043e\u0433\u0434\u0430-\u043b\u0438\u0431\u043e \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u044f \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u043b \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 C. Glibc, Newlibc, Musl \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0418 \u0445\u043e\u0442\u044f, \u043f\u043e\u0445\u043e\u0436\u0435, \u0432\u043e \u0432\u0441\u0435\u0445 \u043d\u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0440\u044f\u0434 \u0422\u0435\u0439\u043b\u043e\u0440\u0430, \u043c\u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u043e \u0432\u0441\u0435\u0445 \u043d\u0438\u0445 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f. \u0412\u0441\u0435 \u043e\u043d\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u043b\u0438\u0441\u044c \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430, \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u0438 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u0438\u0441\u043b\u0430, \u0438\u043c\u0435\u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u0442\u0440\u044e\u043a\u0438 \u0441 \u0431\u0438\u0442\u0430\u043c\u0438. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0445 \u0431\u044b\u0441\u0442\u0440\u044b\u043c\u0438.<\/p>\n<p>  \u0412\u043e\u0442 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044f \u0438\u0437\u0443\u0447\u0430\u043b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 Musl. \u041e\u0442 <a href=\"https:\/\/github.com\/ifduyue\/musl\/blob\/master\/src\/math\/cos.c\">cos()<\/a> \u043a <a href=\"https:\/\/github.com\/ifduyue\/musl\/blob\/master\/src\/math\/__cos.c\">__cos()<\/a>, \u0430 \u043f\u043e\u0442\u043e\u043c \u043a <a href=\"https:\/\/github.com\/ifduyue\/musl\/blob\/master\/src\/math\/__rem_pio2.c\">__rem_pio2()<\/a>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/xx\/-w\/r6\/xx-wr6yah-q3l1gxdow24dxhrue.png\" data-src=\"https:\/\/habrastorage.org\/webt\/xx\/-w\/r6\/xx-wr6yah-q3l1gxdow24dxhrue.png\"\/><\/div>\n<p>  \u0423\u0444\u2026<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430<\/font><\/h2>\n<p>  \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u044f \u0431\u0443\u0434\u0443 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0438\u0445 \u043f\u043e \u0434\u0432\u0443\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c: \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f 100 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0440\u0430\u0437 \u0441 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u043c \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 clock \u0444\u0430\u0439\u043b\u0430 time.h. \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u044f \u0431\u0435\u0440\u0443 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043c\u043e\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 math.h \u0434\u043b\u044f \u0432\u0441\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c 0.0002 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432 \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u0435\u0434\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 0.0002 \u043e\u0442\u043b\u0438\u0447\u0430\u043b\u0430\u0441\u044c \u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 math.h.<\/p>\n<p>  \u0412\u043e\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434:<\/p>\n<pre><code class=\"cpp\">\/\/ \u0417\u0430\u043c\u0435\u0440\u044f\u0435\u043c \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445. \u0427\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0438\u0441\u043b\u043e, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435. double runtime(double (*func)(double)) {     clock_t start = clock();     for (int i = 0; i &lt; 100000000; i++)     {         volatile double c = func(i \/ 10000.0);         (void)c;     }     return (clock() - start) \/ (double)CLOCKS_PER_SEC; }  \/\/ \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 math.h. \u0427\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435. double accuracy(double (*func)(double)) {     double w = -1;     double start = 0;     double stop = CONST_2PI;     double step = 0.0000001;     for (double i = start; i &lt; stop; i += step)     {         double c = absd(func(i) - cos(i));         if (c > w)         {             w = c;         }     }     return w; }<\/code><\/pre>\n<p>  \u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 clang 11.0.3 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0441\u044f \u043d\u0430 13-\u0434\u044e\u0439\u043c\u043e\u0432\u043e\u043c MacBook Pro 2018 \u0441 CPU i7 \u043d\u0430 2,7 \u0413\u0413\u0446 \u0438 16 \u0413\u0411 \u041e\u0417\u0423.<\/p>\n<p>  \u0412\u0435\u0441\u044c \u043a\u043e\u0434 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 <a href=\"https:\/\/github.com\/AZHenley\/cosine\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 GitHub<\/a>. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044e \u0434\u043e\u043a\u0442\u043e\u0440\u0430 \u041c\u0430\u0440\u0446\u0430 \u0437\u0430 \u0442\u043e, \u0447\u0442\u043e \u043e\u043d \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b \u0435\u0433\u043e, \u043f\u043e\u0432\u044b\u0441\u0438\u0432 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430: \u043d\u0430\u0438\u0432\u043d\u044b\u0439 \u0440\u044f\u0434 \u0422\u0435\u0439\u043b\u043e\u0440\u0430 \u0441 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u0430\u043c\u0438<\/font><\/h2>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u044e \u0440\u044f\u0434\u0430 \u0422\u0435\u0439\u043b\u043e\u0440\u0430 \u0441 \u0447\u0435\u0442\u044b\u0440\u044c\u043c\u044f \u0447\u043b\u0435\u043d\u0430\u043c\u0438:<\/p>\n<pre><code class=\"cpp\">double cos_taylor_literal_4terms_naive(double x) {     return 1 - ((x*x)\/(2)) + ((x*x*x*x)\/(24)) - ((x*x*x*x*x*x)\/(720)) + ((x*x*x*x*x*x*x*x)\/(40320)); }<\/code><\/pre>\n<p>  \u041e\u043d \u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043d\u0430 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u043d\u044b\u043c, \u043a\u043e\u0433\u0434\u0430 \u044f \u043d\u0430\u0447\u0430\u043b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0441\u043e \u0432\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 <i>0.1<\/i> \u0438 <i>0.235<\/i>. \u041c\u043e\u0439 \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0437\u043c \u0443\u0433\u0430\u0441, \u043a\u043e\u0433\u0434\u0430 \u044f \u0441\u0440\u0430\u0432\u043d\u0438\u043b \u0435\u0433\u043e \u0433\u0440\u0430\u0444\u0438\u043a \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u043c math.h:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ua\/zi\/j_\/uazij_5-rdcj7i4wxjprgbob0ki.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ua\/zi\/j_\/uazij_5-rdcj7i4wxjprgbob0ki.png\"\/><\/div>\n<p>  \u0424\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u0430\u044f \u043b\u0438\u043d\u0438\u044f \u2014 \u044d\u0442\u043e math.h, \u0430 \u0437\u0435\u043b\u0451\u043d\u0430\u044f \u2014 \u043c\u043e\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f. \u041c\u0435\u0436\u0434\u0443 -pi \u0438 +pi \u043e\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043f\u043e\u043b\u043d\u0435 \u043d\u0435\u043f\u043b\u043e\u0445\u043e, \u043d\u043e \u043f\u043e\u0442\u043e\u043c \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0440\u0435\u0437\u043a\u0438\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0447\u043b\u0435\u043d\u043e\u0432.<\/p>\n<pre><code class=\"cpp\">double cos_taylor_literal_6terms_naive(double x) {     return 1 - ((x*x)\/(2)) + ((x*x*x*x)\/(24)) - ((x*x*x*x*x*x)\/(720)) + ((x*x*x*x*x*x*x*x)\/(40320)) - ((x*x*x*x*x*x*x*x*x*x)\/(3628800)) + ((x*x*x*x*x*x*x*x*x*x*x*x)\/(479001600));  }<\/code><\/pre>\n<p>  \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u2026<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/i7\/kp\/gr\/i7kpgrolmedrvccbcc4wpw4_uye.png\" data-src=\"https:\/\/habrastorage.org\/webt\/i7\/kp\/gr\/i7kpgrolmedrvccbcc4wpw4_uye.png\"\/><\/div>\n<p>  \u0413\u043e\u0440\u0430\u0437\u0434\u043e \u043b\u0443\u0447\u0448\u0435. \u041d\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u0438 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438 \u043a 2pi \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0441\u0438\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0412\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430: \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u0439 \u0440\u044f\u0434 \u0422\u0435\u0439\u043b\u043e\u0440\u0430 \u0441 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u0430\u043c\u0438<\/font><\/h2>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u0438 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u0442\u0440\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f: \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0438 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0447\u043b\u0435\u043d\u043e\u0432.<\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b <i>\u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b<\/i>. \u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0445\u043e\u0434\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0442\u0435\u043c \u043c\u0435\u043d\u0435\u0435 \u0442\u043e\u0447\u0435\u043d \u044d\u0442\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431. \u0422\u0430\u043a \u043a\u0430\u043a \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0435 2pi, \u043d\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c <i>x = x % (2*pi);<\/i>. \u041e\u0434\u043d\u0430\u043a\u043e \u0432 C \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441 \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0447\u0438\u0441\u043b\u0430\u043c\u0438 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0437\u0430\u043f\u044f\u0442\u043e\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439.<\/p>\n<pre><code class=\"cpp\">#define modd(x, y) ((x) - (int)((x) \/ (y)) * (y))  double cos_taylor_literal_6terms_2pi(double x) {     x = modd(x, CONST_2PI);     return 1 - ((x * x) \/ (2)) + ((x * x * x * x) \/ (24)) - ((x * x * x * x * x * x) \/ (720)) + ((x * x * x * x * x * x * x * x) \/ (40320)) - ((x * x * x * x * x * x * x * x * x * x) \/ (3628800)) + ((x * x * x * x * x * x * x * x * x * x * x * x) \/ (479001600)); }<\/code><\/pre>\n<p>  \u041e\u043d \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0435\u0431\u044f \u043b\u0443\u0447\u0448\u0435 \u0434\u043b\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 2pi, \u043d\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u0442\u043e\u0447\u0435\u043d \u043f\u0440\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445, \u0431\u043b\u0438\u0437\u043a\u0438\u0445 \u043a 2pi. \u041c\u043e\u0436\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u044b \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u043a\u0440\u0430\u0442\u043d\u043e\u043c pi, \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u043d\u0430\u043a. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c mod \u043d\u0430 2pi, \u0432\u044b\u0447\u0435\u0441\u0442\u044c pi, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 pi, \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0440\u044f\u0434 \u0422\u0435\u0439\u043b\u043e\u0440\u0430, \u0430 \u0437\u0430\u0442\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0437\u043d\u0430\u043a. \u0422\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043c\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 0 \u0434\u043e pi.<\/p>\n<pre><code class=\"cpp\">double cos_taylor_literal_6terms_pi(double x) {     x = modd(x, CONST_2PI);     char sign = 1;     if (x > CONST_PI)     {         x -= CONST_PI;         sign = -1;     }     return sign * (1 - ((x * x) \/ (2)) + ((x * x * x * x) \/ (24)) - ((x * x * x * x * x * x) \/ (720)) + ((x * x * x * x * x * x * x * x) \/ (40320)) - ((x * x * x * x * x * x * x * x * x * x) \/ (3628800)) + ((x * x * x * x * x * x * x * x * x * x * x * x) \/ (479001600))); }<\/code><\/pre>\n<p>  \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438 \u0431\u043b\u0438\u0437\u043a\u0438\u0445 \u043a 2pi \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445.<\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0432 \u043a\u043e\u0434\u0435 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <i>x*x<\/i>. \u042f \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u043b \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0439, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 <i>double xx = x * x;<\/i>.<\/p>\n<pre><code class=\"cpp\">double cos_taylor_literal_6terms(double x) {     x = modd(x, CONST_2PI);     char sign = 1;     if (x > CONST_PI)     {         x -= CONST_PI;         sign = -1;     }     double xx = x * x;      return sign * (1 - ((xx) \/ (2)) + ((xx * xx) \/ (24)) - ((xx * xx * xx) \/ (720)) + ((xx * xx * xx * xx) \/ (40320)) - ((xx * xx * xx * xx * xx) \/ (3628800)) + ((xx * xx * xx * xx * xx * xx) \/ (479001600))); }<\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0430\u0441\u044c! \u0422\u0430\u043a\u0436\u0435 \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b <i>double xxxx = xx * xx;<\/i>, \u043d\u043e \u043d\u0435 \u0443\u0432\u0438\u0434\u0435\u043b \u043e\u0441\u043e\u0431\u043e\u0439 \u0440\u0430\u0437\u043d\u0438\u0446\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0432\u0438\u043d\u0443\u043b\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n<p>  \u042f \u0432\u0441\u0451 \u0435\u0449\u0451 \u043d\u0435 \u0437\u043d\u0430\u043b \u0442\u043e\u0447\u043d\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u043b\u0435\u043d\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0434\u043e \u0434\u0435\u0441\u044f\u0442\u0438 \u0447\u043b\u0435\u043d\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043a\u0430\u043a \u044d\u0442\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u0442 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c:<\/p>\n<pre><code class=\"cpp\">double cos_taylor_literal_10terms(double x) {     x = modd(x, CONST_2PI);     char sign = 1;     if (x > CONST_PI)     {         x -= CONST_PI;         sign = -1;     }     double xx = x * x;      return sign * (1 - ((xx) \/ (2)) + ((xx * xx) \/ (24)) - ((xx * xx * xx) \/ (720)) + ((xx * xx * xx * xx) \/ (40320)) - ((xx * xx * xx * xx * xx) \/ (3628800)) + ((xx * xx * xx * xx * xx * xx) \/ (479001600)) - ((xx * xx * xx * xx * xx * xx * xx) \/ (87178291200)) + ((xx * xx * xx * xx * xx * xx * xx * xx) \/ (20922789888000)) - ((xx * xx * xx * xx * xx * xx * xx * xx * xx) \/ (6402373705728000)) + ((xx * xx * xx * xx * xx * xx * xx * xx * xx * xx) \/ (2432902008176640000))); }<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u0440\u0430\u0444\u0438\u043a \u0441 \u0434\u0435\u0441\u044f\u0442\u044c\u044e \u0447\u043b\u0435\u043d\u0430\u043c\u0438 \u043d\u0430\u0447\u0430\u043b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 math.h. \u041f\u0440\u043e\u0433\u0440\u0435\u0441\u0441! \u041f\u0440\u0438 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0438 \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0435\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0441 math.h \u0447\u0435\u0442\u044b\u0440\u0435 \u0447\u043b\u0435\u043d\u0430 \u0431\u044b\u043b\u0438 \u0443\u0436\u0430\u0441\u043d\u044b. \u0428\u0435\u0441\u0442\u044c \u0447\u043b\u0435\u043d\u043e\u0432 \u043e\u0442\u043b\u0438\u0447\u0430\u043b\u0438\u0441\u044c \u043d\u0430 0.0001, \u0430 \u044d\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u0447\u0435\u043c \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u0414\u0435\u0441\u044f\u0442\u044c \u0447\u043b\u0435\u043d\u043e\u0432 \u043e\u0442\u043a\u043b\u043e\u043d\u044f\u043b\u0438\u0441\u044c \u0432\u0441\u0435\u0433\u043e \u043d\u0430 0.00000000007. \u0423\u0440\u0430!<\/p>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0447\u043b\u0435\u043d\u043e\u0432 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0440\u0435\u0437\u043a\u043e\u043c\u0443 \u0440\u043e\u0441\u0442\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f. \u0421\u0443\u0434\u044f \u043f\u043e \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0443, \u043d\u0430\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441 \u0447\u0435\u0442\u044b\u0440\u044c\u043c\u044f \u0447\u043b\u0435\u043d\u0430\u043c\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u043e 0,4 \u0441\u0435\u043a\u0443\u043d\u0434\u044b, \u0441 \u0448\u0435\u0441\u0442\u044c\u044e \u0447\u043b\u0435\u043d\u0430\u043c\u0438 \u2014 0,94 \u0441\u0435\u043a\u0443\u043d\u0434\u044b, \u0430 \u0441 \u0434\u0435\u0441\u044f\u0442\u044c\u044e \u2014 1,46 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u0410 math.h \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u043e 1,04 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0447\u043b\u0435\u043d\u043e\u0432 \u043f\u0440\u0438 \u0442\u0430\u043a\u043e\u0439 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043c\u043d\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435\u043b\u0435\u043f\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0434\u0432\u0438\u043d\u0443\u043b\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0422\u0440\u0435\u0442\u044c\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430: \u0440\u044f\u0434 \u0422\u0435\u0439\u043b\u043e\u0440\u0430 \u0441\u043e \u0441\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0438\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c<\/font><\/h2>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u0441\u0432\u043e\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0434\u043e\u043a\u0442\u043e\u0440\u0443 \u041c\u0430\u0440\u0446\u0443, \u043e\u043d \u043f\u0440\u043e\u0432\u0435\u0440\u043d\u0443\u043b \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043c\u0430\u0433\u0438\u044e \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b \u043c\u043d\u0435 \u0441\u0432\u043e\u044e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e. \u0412 \u0435\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0435 \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u044a\u0451\u043c \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043d\u0443\u0436\u043d\u044b\u0445 \u0447\u043b\u0435\u043d\u043e\u0432. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u044c\u044e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438\/\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e.<\/p>\n<pre><code class=\"cpp\">double cos_taylor_running_yterms(double x, int y) {     int div = (int)(x \/ CONST_PI);     x = x - (div * CONST_PI);     char sign = 1;     if (div % 2 != 0)         sign = -1;      double result = 1.0;     double inter = 1.0;     double num = x * x;     for (int i = 1; i &lt;= y; i++)     {         double comp = 2.0 * i;         double den = comp * (comp - 1.0);         inter *= num \/ den;         if (i % 2 == 0)             result += inter;         else             result -= inter;     }     return sign * result; }<\/code><\/pre>\n<p>  \u0420\u0430\u0434\u0438 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432 \u044f \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u044d\u0442\u0443 \u0432\u0435\u0440\u0441\u0438\u044e \u0441\u043e \u0432\u0442\u043e\u0440\u044b\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u044f \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u043b \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438 \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043b \u0432 \u0446\u0438\u043a\u043b\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 6, 10 \u0438 16).<\/p>\n<p>  \u041f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u0447\u043b\u0435\u043d\u043e\u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e. \u041f\u0440\u0438 16 \u0447\u043b\u0435\u043d\u0430\u0445 \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 0.0000000000000009, \u043e\u0434\u043d\u0430\u043a\u043e \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 2,57 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u042d\u0442\u043e \u043d\u0438 \u0432 \u043a\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u2026 \u0435\u0441\u043b\u0438 \u043d\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 math.h.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0427\u0435\u0442\u0432\u0451\u0440\u0442\u0430\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430: \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e\u0438\u0441\u043a\u0430<\/font><\/h2>\n<p>  \u041c\u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 \u043f\u043e\u0438\u0441\u043a\u0430. \u0421\u043c\u044b\u0441\u043b \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u043b\u0441\u044f \u0432 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u0445 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432. \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u0437\u0430\u0434\u043e\u043b\u0433\u043e \u0434\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 \u043d\u0435 \u043d\u043e\u0432\u0430. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f \u043d\u0430\u0434\u0435\u044f\u043b\u0441\u044f, \u0447\u0442\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432 \u043e\u0431\u044a\u0451\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u044f \u043f\u043e\u043b\u0443\u0447\u0443 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0440\u043e\u0441\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0443 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u0443\u044e \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  \u0414\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u043e\u043a\u0442\u043e\u0440 \u041c\u0430\u0440\u0446 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 Python, \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0444\u0430\u0439\u043b \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 C, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u043c\u0430\u0441\u0441\u0438\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u2014 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430, \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e math.h. \u041e\u0447\u0435\u043d\u044c \u0443\u043c\u043d\u043e!<\/p>\n<pre><code class=\"python\">from math import cos, pi  def main(f, PRECISION, NAME):     f.write(\"double %s[] = {\\n\" % NAME)     j = 0     p = 0.0     while True:         f.write(\"{:.20f}, \".format(cos(p)))         j += 1         p += PRECISION         if p > 2*pi:             break     f.write(\"1.0 };\\n\")     f.write(\"const int %s_size = %d;\\n\" % (NAME, j+1))   if __name__ == '__main__':     main(open(\"costable_1.h\", \"w\"), 1.0, \"costable_1\")     main(open(\"costable_0_1.h\", \"w\"), 0.1, \"costable_0_1\")     main(open(\"costable_0_01.h\", \"w\"), 0.01, \"costable_0_01\")     main(open(\"costable_0_001.h\", \"w\"), 0.001, \"costable_0_001\")     main(open(\"costable_0_0001.h\", \"w\"), 0.0001, \"costable_0_0001\")<\/code><\/pre>\n<p>  \u041c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u0440\u0430\u0437\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 8 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, 64 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, 630 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438, 6285 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0438 62833 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438. \u0420\u0430\u0441\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u0430 \u044d\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0446\u0435\u043d\u043e\u0439 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430. \u0412\u043b\u0438\u044f\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446 1.0 \u0438 0.1 \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u043e, \u043e\u0434\u043d\u0430\u043a\u043e \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043d\u0430 5 \u041a\u0411, 50 \u041a\u0411 \u0438 500 \u041a\u0411.<\/p>\n<pre><code class=\"cpp\">double absd(double a) { *((unsigned long *)&amp;a) &amp;= ~(1UL &lt;&lt; 63); return a; }  double cos_table_0_01(double x) {     x = absd(x);     x = modd(x, CONST_2PI);     return costable_0_01[(int)(x * 100 + 0.5)]; }<\/code><\/pre>\n<p>  \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0442 \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0431\u0430\u043b\u0430\u043d\u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u0438\u0445\u0443\u0434\u0448\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0439 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 0.49, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0435\u044e \u043d\u0435\u043b\u044c\u0437\u044f. \u041d\u043e \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0430 \u043e\u0434\u0438\u043d \u0437\u043d\u0430\u043a \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438: 0.049, 0.0049, 0.00049 \u0438 0.000049. \u0422\u0435\u0441\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0440\u0430\u0432\u0435\u043d \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 0.38. <b><font color=\"#3AC1EF\">\u0410 \u044d\u0442\u043e \u0431\u044b\u0441\u0442\u0440\u043e!<\/font><\/b> (\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043d\u0430\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0434\u043e 0.33, \u043d\u043e \u043a\u043e\u0434 \u0441\u0442\u0430\u043b \u043d\u0435\u043a\u0440\u0430\u0441\u0438\u0432\u044b\u043c.)<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041f\u044f\u0442\u0430\u044f \u043f\u043e\u043f\u044b\u0442\u043a\u0430: \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e\u0438\u0441\u043a\u0430 \u0441 LERP<\/font><\/h2>\n<p>  \u0414\u0430, \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e\u0438\u0441\u043a\u0430 \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e, \u043d\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0434\u043b\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432 \u043d\u0435\u0439 \u043d\u0435\u0442. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e <i>\u043b\u0438\u043d\u0435\u0439\u043d\u0443\u044e \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u044f\u0446\u0438\u044e<\/i>. \u0417\u0432\u0443\u0447\u0438\u0442 \u043a\u0440\u0443\u0442\u043e, \u043d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0432\u0437\u0432\u0435\u0448\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438. \u0415\u0441\u043b\u0438 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u0442 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435, \u043c\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u044e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0431\u043b\u0438\u0436\u0435. \u041a\u043e\u0434:<\/p>\n<pre><code class=\"cpp\">#define lerp(w, v1, v2) ((1.0 - (w)) * (v1) + (w) * (v2))  double cos_table_0_01_LERP(double x) {     x = absd(x);     x = modd(x, CONST_2PI);     double i = x * 100.0;     int index = (int)i;     return lerp(i - index,        \/* \u0432\u0435\u0441      *\/         costable_0_01[index],     \/* \u043d\u0438\u0436\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 *\/         costable_0_01[index + 1]  \/* \u0432\u0435\u0440\u0445\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 *\/         ); }<\/code><\/pre>\n<p>  <\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435<\/font><\/h2>\n<p>  \u0412\u043e\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u0440\u0438 \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 math.h (\u0447\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435!):<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ez\/la\/jo\/ezlajokaemdn3djwwn2g-ip-ih8.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ez\/la\/jo\/ezlajokaemdn3djwwn2g-ip-ih8.png\"\/><\/div>\n<p>  \u0410 \u0432\u043e\u0442 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 100 000 000 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 (\u0447\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435!):<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/_o\/xy\/wa\/_oxywafkzbael9prbsp_6au71fc.png\" data-src=\"https:\/\/habrastorage.org\/webt\/_o\/xy\/wa\/_oxywafkzbael9prbsp_6au71fc.png\"\/><\/div>\n<p>  <\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0412\u044b\u0432\u043e\u0434<\/font><\/h2>\n<p>  \u0422\u0430\u043a \u0447\u0442\u043e \u0436\u0435 \u043c\u044b \u043f\u043e\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c? \u041f\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 math.h. \u041d\u0438 \u043e\u0434\u043d\u0430 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043e\u0431\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0439, \u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u0437 \u043d\u0438\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u043e\u0447\u043d\u043e. \u041d\u043e \u043a\u043e\u0433\u0434\u0430 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437 \u044f \u0431\u0443\u0434\u0443 \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0433\u0440\u0443, \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0443\u044e \u0442\u0440\u0438\u0433\u043e\u043d\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0441\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u0439 0_001.<\/p>\n<p>  \u0414\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0438 \u0432 \u043d\u043e\u0432\u043e\u0439 \u043a\u0440\u043e\u043b\u0438\u0447\u044c\u0435\u0439 \u043d\u043e\u0440\u0435!<\/p>\n<p>  <a href=\"http:\/\/ruvds.com\/ru-rub?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=perevod&amp;utm_content=realizuem_s_nulya_funkciyu_kosinusa_na_yazyke_c\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/hc\/88\/sb\/hc88sbzi7apcmcvqt2icby4azas.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/hc\/88\/sb\/hc88sbzi7apcmcvqt2icby4azas.jpeg\" data-blurred=\"true\"\/><\/a><\/div>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/742620\/\"> https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/742620\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/742620\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/-e\/dl\/ci\/-edlcilibunk0nb5dswjlagapd0.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/-e\/dl\/ci\/-edlcilibunk0nb5dswjlagapd0.jpeg\" data-blurred=\"true\"\/><\/div>\n<p><\/a><br \/>  \u042f \u0438\u0437\u0443\u0447\u0438\u043b, \u043a\u0430\u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432. \u041e\u0434\u043d\u0430 \u0438\u0437 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u043f\u043e\u0447\u0442\u0438 \u0432 <b><font color=\"#3AC1EF\">\u0442\u0440\u0438 \u0440\u0430\u0437\u0430<\/font><\/b> \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c <b><font color=\"#3AC1EF\">math.h<\/font><\/b>, \u043d\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u043c\u0438\u0440\u0438\u0442\u044c\u0441\u044f \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439.<\/p>\n<p>  \u0417\u0430\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u043b\u0438 \u0432\u044b \u043a\u043e\u0433\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c, \u043a\u0430\u043a \u0432 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043b\u044e\u0431\u0438\u043c\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0442\u0440\u0438\u0433\u043e\u043d\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0441\u0438\u043d\u0443\u0441? \u042d\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0447\u0442\u043e \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0432\u0435\u0434\u044c \u0442\u0430\u043a? \u041d\u0443 \u0443\u0436 \u043d\u0435\u0442. \u041f\u043e\u0447\u0442\u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a.<\/p>\n<p>  \u041c\u043e\u0451 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u0441 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043c\u043e\u0439 \u0434\u0440\u0443\u0433 \u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0430 <a href=\"http:\/\/stephenmarz.com\">\u0421\u0442\u0438\u0432\u0435\u043d \u041c\u0430\u0440\u0446<\/a> \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043d\u0430\u0434 \u044f\u0434\u0440\u043e\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u044f \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u0430\u043b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430. \u042f \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u00abhello, world\u00bb \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u0435\u0433\u043e \u044f\u0434\u0440\u043e \u043d\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 C (\u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u043f\u0440\u043e\u0449\u0430\u0439 <i>math.h<\/i>!), \u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 \u044f\u0432\u043b\u044f\u043b\u0430\u0441\u044c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 RISC-V (\u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u043e\u0434\u043e\u0431\u0438\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <i>fcos<\/i> Intel!).<\/p>\n<p>  \u0422\u0430\u043a \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u043c\u043e\u0451 \u0434\u043e\u043b\u0433\u043e\u0435 \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-349015","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/349015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=349015"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/349015\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=349015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=349015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=349015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}