{"id":99,"date":"2023-05-15T15:21:01","date_gmt":"2023-05-15T10:21:01","guid":{"rendered":"http:\/\/yarat.uz\/?p=99"},"modified":"2025-03-19T15:27:05","modified_gmt":"2025-03-19T10:27:05","slug":"matematik-mantiqiy-va-shartli-amallar","status":"publish","type":"post","link":"https:\/\/yarat.uz\/?p=99","title":{"rendered":"Matematik, mantiqiy, taqqoslovchi va shartli operatorlar"},"content":{"rendered":"<p style=\"text-align: center;\"><strong>Matematik operatorlar<\/strong><\/p>\n<p style=\"text-align: justify;\">Arduinoda arifmetik operatorlarni bajarish uchun ifodada bevosita sonlarning o&#8217;zini qo&#8217;llash yoki oldin ularni o&#8217;zgaruvchiga o&#8217;zlashtirilib, so&#8217;ng ular ustida operatorlarni bajarish mumkin. Muhimi, o&#8217;zgaruvchilarning <strong>qiymat turi<\/strong>ni (<strong>qiymat qabul qilish sohasi<\/strong>ni) oldindan aniq belgilab olish zarur. Masalan, <strong>int<\/strong> turidagi o&#8217;zgaruvchi faqat -32 768\u2026 32 767 oralig&#8217;ida, <strong>unsigned int<\/strong> turidagi o&#8217;zgaruvchi faqat 0 \u2026 65 535 oralig&#8217;ida butun sonli qiymat qabul qila oladi. Undan kattaroq butun sonlar bilan ishlash uchun <strong>long<\/strong> (-2 147 483 648 \u2026 2 147 483 647), <strong>unsigned long<\/strong> (0 \u2026 4 294 967 295) kabi qiymat turlarini tanlash mumkin.<\/p>\n<p style=\"text-align: justify;\">Kasr sonlar bilan ishlashda esa, <strong>float<\/strong> qiymat turidan foydalaniladi. Biroq yuqori aniqlik yoki tezlik talab etilgan vaziyatlarda undan foydalanish tavsiya etilmaydi. Chunki, mazkur qiymat turi bilan bog&#8217;liq hisoblashlarda natija aniqligi 7-8 xonadan oshmaydi, hisoblash nisbatan sekin (butun sonlarga nisbatan 7-10 baravar sekinroq) bajarilishi esa, mikrokontroller ishlashi va qurilma ishining umumiy samaradorligiga salbiy ta&#8217;sir o&#8217;tkazishi mumkin. Shuning uchun, uning o&#8217;rniga hisoblashni butun sonlarda bajarib, keyin kerakli aniqlikka erishish uchun 10 ning darajalariga bo&#8217;lish mumkin: 42949,67 = 4294967\/100.<\/p>\n<p>Arifmetik operatorlar:<\/p>\n<ul>\n<li><strong>+<\/strong> qo&#8217;shish (a + b)<\/li>\n<li><strong>&#8211;<\/strong> ayirish (a &#8211; b)<\/li>\n<li><strong>*<\/strong> ko&#8217;paytirish (a * b)<\/li>\n<li><strong>\/<\/strong> bo&#8217;lish (a \/ b)<\/li>\n<li>% bo&#8217;linmaning qoldig&#8217;i (a % b)<\/li>\n<li><strong>=<\/strong> o&#8217;zlashtirish operatori (a = b)<\/li>\n<li style=\"text-align: justify;\"><strong>+=<\/strong> qo&#8217;shma yig&#8217;indi (o&#8217;zgaruvchi qiymatiga yangi qiymat qo&#8217;shish: a += 10 bilan a = a + 10 bir xil)<\/li>\n<li style=\"text-align: justify;\"><strong>-= <\/strong>qo&#8217;shma ayirma (o&#8217;zgaruvchi qiymatidan yangi qiymatni ayirish: a -= 10 bilan a = a &#8211; 10 bir xil)<\/li>\n<li style=\"text-align: justify;\"><strong>*= <\/strong>qo&#8217;shma ko&#8217;paytma (o&#8217;zgaruvchi qiymatiga yangi qiymatni ko&#8217;paytirish: a *= 10 bilan a = a * 10 bir xil)<\/li>\n<li style=\"text-align: justify;\"><strong>\/= <\/strong>qo&#8217;shma bo&#8217;linma (o&#8217;zgaruvchi qiymatini yangi qiymatga bo&#8217;lish: a \/= 10 bilan a = a \/ 10 bir xil)<\/li>\n<li style=\"text-align: justify;\"><strong>%= <\/strong>qo&#8217;shma qoldiq (o&#8217;zgaruvchi qiymatini yangi qiymatga bo&#8217;lish qoldig&#8217;i: a %= 10 bilan a = a % 10 bir xil)<\/li>\n<li style=\"text-align: justify;\"><strong>++<\/strong> inkrement (o&#8217;zgaruvchi qiymatiga 1 ni qo&#8217;shish: a++ bilan a = a + 1 bir xil). O&#8217;zgaruvchi nomi operatorning qaysi tomonida ko&#8217;rsatilganidan kelib chiqib 2 xil turi mavjud: pre-inkrement (a++) va post-inkrement (++a). Quyiroqdagi misollarga qarang.<\/li>\n<li style=\"text-align: justify;\"><strong>&#8211; &#8211;<\/strong> dekrement (o&#8217;zgaruvchi qiymatidan 1 ni ayirish: a- &#8211; bilan a = a &#8211; 1 bir xil). O&#8217;zgaruvchi nomi operatorning qaysi tomonidaligidan kelib chiqib 2 xil turi mavjud: pre-dekrement (a- -) va post-dekrement (- -a). Quyiroqdagi misollarga qarang.<\/li>\n<\/ul>\n<p style=\"text-align: left;\">Arifmetik operatorlarni misollarda ko&#8217;rib chiqamiz va hisoblash natijalarini port monitorida kuzatamiz:<\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Arifmetik operatorlarga misollar<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\nvoid setup() {<br \/>\nSerial.begin(9600);<br \/>\nSerial.println(<strong>25 + 35<\/strong>); \/\/natija: 60<br \/>\nSerial.println(<strong>2 * 3 &#8211; 3<\/strong>); \/\/natija: 3<br \/>\nint a = 4; int b = 20; int c = 0; fload d = <strong>12345678.9 * 12.3<\/strong>;<br \/>\nSerial.println(<strong>a * b<\/strong>); \/\/natija: 80<br \/>\nc=<strong>a * b<\/strong>;<br \/>\nSerial.println(c); \/\/natija: 80<br \/>\nc = <strong>a + b<\/strong>;<br \/>\nc = <strong>b &#8211; a<\/strong>;<br \/>\nSerial.println(c); \/\/natija: 16<br \/>\nSerial.println(<strong>b \/ a<\/strong>); \/\/natija: 5<br \/>\nSerial.println(<strong>c &#8211; (b \/ a<\/strong>)); \/\/natija: 11<br \/>\nSerial.println(d); \/\/natija: 151851856.00, <strong>aniqlik 8-xonagacha<\/strong>. Aslida tog&#8217;ri natija: 151 851 850,47<br \/>\nd = 123.456*12.34;<br \/>\nSerial.println(d); \/\/natija: 1523.45, <strong>aniqlik 5-xonagacha<\/strong>. Aslida tog&#8217;ri natija: 1523,44704<br \/>\nunsigned long g = 286331153 * 15;<br \/>\nSerial.println(g); \/\/natija: 4294967295<\/p>\n<p>int a = 0; int b = 0;<br \/>\n<strong>a++<\/strong>; \/\/inkrement<br \/>\nSerial.println(a); \/\/natija: 1<br \/>\na = 0; b = 0;<br \/>\n<strong>b=a++<\/strong>; \/\/pre-inkrement<br \/>\nSerial.println(b); \/\/natija: 0<br \/>\na = 0; b = 0;<br \/>\n<strong>b=++a<\/strong>; \/\/post-inkrement<br \/>\nSerial.println(b); \/\/natija: 1<\/p>\n<p>int a = 1; int b = 1;<br \/>\n<strong>a&#8211;<\/strong>; \/\/dekrement<br \/>\nSerial.println(a); \/\/natija: 0<br \/>\na = 1; b = 1;<br \/>\n<strong>b=a&#8211;<\/strong>; \/\/pre-dekrement<br \/>\nSerial.println(b); \/\/natija: 1<br \/>\na = 1; b = 1;<br \/>\n<strong>b=&#8211;a<\/strong>; \/\/post-dekrement<br \/>\nSerial.println(b); \/\/natija: 0<br \/>\n}<\/p>\n<p style=\"text-align: left;\">void loop() {<br \/>\n}<\/div><\/div>\n<p style=\"text-align: justify;\">Boshqa matematik (trigonometrik) operatorlar Arduinoda kamdan-kam qo&#8217;llaniladi. Shuning uchun ular haqidagi ma&#8217;lumotlarni biz keltirmaymiz.<\/p>\n<p style=\"text-align: center;\"><strong>Taqqoslash (solishtirish) operatorlari<\/strong><\/p>\n<p style=\"text-align: justify;\">Arduinoda taqqoslash operatorlari (operatorlari) 2 ta va undan ortiq qiymatlarni yoki operatorlarni o&#8217;zaro solishtirish uchun ishlatiladi. Shuningdek, amaliyotda qurilmaga ulangan datchiklar ko&#8217;rsatkichlariga ko&#8217;ra, tashqi yuklamani boshqarishda katta rol o&#8217;ynaydi. Masalan, yorug&#8217;lik darajasi o&#8217;zgarishiga qarab, chiroqni yoqib-o&#8217;chirish yoki ob-havo darajasiga qarab konditsioner yoki isitish vositalarini boshqarish, shuningdek, obyektdagi ogohlantirish datchiklari (masalan, tovush, harakat, temperatura va boshqa datchiklar ko&#8217;rsatkichlaridagi o&#8217;zgarishlar) holati haqida egasini ogohlantiruvchi signallarni yuborish kabi jarayonlarini avtomatlashtirish mumkin.<\/p>\n<p>Arduinoda quyidagi taqqoslash operatorlari qo&#8217;llaniladi:<\/p>\n<ul>\n<li><strong>==<\/strong> teng (a == b)<\/li>\n<li><strong>!=<\/strong> teng emas (a != b. Ushbu amal a=!b amali bilan har doim ham bir xil natija bermaydi!)<\/li>\n<li><strong>&gt;<\/strong> katta (a &gt; b)<\/li>\n<li><strong>&lt;<\/strong> kichik (a &lt; b)<\/li>\n<li><strong>&gt;=<\/strong> katta yoki teng (a &gt;= b)<\/li>\n<li>&lt;= kichik yoki teng (a &lt;= b)<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Taqqoslash operatori natijasi <em><strong>true<\/strong><\/em> yoki <em><strong>1 <\/strong><\/em>(shart bajarilganda), <em><strong>false<\/strong><\/em> yoki <em><strong>0 <\/strong><\/em>(shart bajarilmaganda) qiymatlariga teng bo&#8217;lishi mumkin.<\/p>\n<p style=\"text-align: justify;\">Taqqoslash operatorlari ko&#8217;proq <strong>if\/else<\/strong> shartli operatori tarkibida qo&#8217;llaniladi (masalan, if(a &gt; b) {&#8230;}, if(a != b){&#8230;}else{&#8230;} kabi).<\/p>\n<p>Misollar:<\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Taqqoslash operatorlariga misollar<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\nvoid setup() {<br \/>\nSerial.begin(9600);<br \/>\nint a = 24; int b = 48 \/ 2; int c = 30;<br \/>\nSerial.println(<strong>a == b<\/strong>); \/\/natija: 1 (true)<br \/>\nSerial.println(<strong>a == c<\/strong>); \/\/natija: 0 (false)<br \/>\nSerial.println(<strong>a != b<\/strong>); \/\/natija: 0 (false)<br \/>\nSerial.println(<strong>!(a != b)<\/strong>); \/\/natija: 1 (true)<br \/>\nSerial.println(<strong>b &gt; c<\/strong>); \/\/natija: 0 (false)<br \/>\nSerial.println(<strong>b &lt; a<\/strong>); \/\/natija: 0 (false)<br \/>\nSerial.println(<strong>a &lt;= c<\/strong>); \/\/natija: 1 (true)<br \/>\nSerial.println(<strong>c &lt;= b<\/strong>); \/\/natija: 0 (false)<br \/>\nSerial.println(<strong>!(c &lt; b)<\/strong>); \/\/natija: 1 (true)<br \/>\n}<\/p>\n<p>void loop() {<br \/>\n}<\/div><\/div>\n<p style=\"text-align: center;\"><strong>Mantiqiy operatorlar<\/strong><\/p>\n<p style=\"text-align: justify;\">Arduinoda mantiqiy operatorlar quyidagicha ifodalanadi:<\/p>\n<ul>\n<li style=\"text-align: justify;\"><strong>&amp;&amp;<\/strong> mantiqiy &#8220;VA&#8221; operatori<\/li>\n<li style=\"text-align: justify;\"><strong>||<\/strong> mantiqiy &#8220;YOKI&#8221; operatori<\/li>\n<li><strong>!<\/strong> (<strong>not<\/strong>) mantiqiy &#8220;EMAS&#8221; (inkor qilish) operatori<\/li>\n<\/ul>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Mantiqiy operatorlarga misollar<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\nSerial.println(a == b &amp;&amp; b == c); \/\/natija: 0 (false)<br \/>\nSerial.println(a == b || b == c); \/\/natija: 1 (true)<br \/>\nSerial.println(a == b &amp;&amp; b != c); \/\/natija: 1 (true)<br \/>\nSerial.println((a == b &amp;&amp; b != c) &amp;&amp; a != c); \/\/natija: 1 (true)<br \/>\nSerial.println((a == b &amp;&amp; b != c) || a != c); \/\/natija: 1 (true)<br \/>\nSerial.println((a == b &amp;&amp; b != c) || a == c); \/\/natija: 1 (true)<br \/>\nSerial.println((a == b &amp;&amp; b == c) || a == c); \/\/natija: 0 (false)<br \/>\n<\/div><\/div>\n<p style=\"text-align: justify;\">Mantiqiy operatorlar ko&#8217;pincha bir nechta taqqoslash operatorlarini birlashtirish maqsadida qo&#8217;llaniladi.<\/p>\n<p style=\"text-align: center;\"><strong>Shartli operatorlar<\/strong><\/p>\n<p style=\"text-align: justify;\">Shartli operator deganda, ma&#8217;lum bir kodning muayyan shart bajarilganda (yoki bajarilmaganda) bajarilishini ta&#8217;minlaydigan operatorga aytiladi. Arduinoda bir nechta shartli operator turlaridan keng foydalaniladi:<\/p>\n<ul>\n<li><strong>if\/else\/else if<\/strong> shartli operatori<\/li>\n<li><strong>?<\/strong> uchlik shartli operatori (&#8220;\u0442\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440&#8221;)<\/li>\n<li><strong>switch\/case<\/strong> (tanlash) shartli operatori<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Arduinoda shartli operatorlar o&#8217;zgaruvchilarni, ifodalarni, qiymatlarni taqqoslash maqsadida foydalaniladi, shuningdek ular shartni belgilash qismida mantiqiy operatorlar bilan ham birgalikda qo&#8217;llaniladi.<\/p>\n<p><strong>if\/else if\/else<\/strong> shartli operatori &#8211; shart yoki solishtirish asosida amallarni bajarish operatori. Sintaksisi:<\/p>\n<p><strong>if(&lt;shart&gt;) {&lt;shart bajarilgandagi kod&gt;} else if {2-shart bajarilgandagi kod} &#8230; else {hech qaysi shart bajarilmagandagi kod}<\/strong><\/p>\n<p style=\"text-align: justify;\">Agar shartdan keyin faqat 1 ta amal bajarilsa, {} belgilaridan foydalanish shart emas.<\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>'if\/else if\/else' operatoriga misollar<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\nif (a &gt; b) c = 10; \/\/ &#8220;agar a b dan katta bo&#8217;lsa, c = 10 bo&#8217;lsin&#8221;<br \/>\nelse if (a == b) c = 20; else c = 30;\/\/ &#8220;aksincha, \u0441 = 20 bo&#8217;lsin&#8221;. Qisqartirlgan holda:<br \/>\nif (a &gt; b) c = 10; else if (a == b) c = 20; else c = 30;<\/p>\n<p>\/\/ solishtirish operatori o&#8217;rniga mantiqiy o&#8217;zgaruvchini qo&#8217;llasa ham bo&#8217;ladi:<br \/>\nboolean myFlag, myFlag2;<br \/>\nif(myFlag == true) c = 10; \/\/&#8221;Agar myFlag = true bo&#8217;lsa c=10&#8243; yoki<br \/>\nif(myFlag) c = 10; \/\/&#8221;Agar myFlag = true bo&#8217;lsa c=10.<br \/>\n\/\/Ya&#8217;ni, shartda <strong><em>true<\/em><\/strong> qiymati bilan taqqoslashni ko&#8217;rsatmasa ham bo&#8217;ladi.<\/p>\n<p>\/\/ murakkab shartlar:<br \/>\nif(!myflag &amp;&amp; !myFlag2) c = 10; \/\/ &#8220;agar ikkala o&#8217;zgaruvchi qiymati ham false bo&#8217;lsa, c=10&#8221;<br \/>\n\/\/ 2 ta yoki undan ortiq amallar bajarilganda, {} belgilari ko&#8217;rsatilishi shart:<br \/>\nif (myFlag) {<br \/>\n\u0441 = 10;<br \/>\nb = c;<br \/>\n} else {<br \/>\n\u0441 = 20;<br \/>\nb = a;<br \/>\n}<br \/>\n\/\/yoki, yuqoridagi kodni qisqatrirsak:<br \/>\nif(myFlag){\u0441 = 10;\u00a0 b = c;} else {\u0441 = 20; b = a;} \/\/ham o&#8217;rinli<br \/>\nbyte buttonState;<br \/>\nif(buttonState == 1) a = 10; \/\/ &#8220;agar buttonState=1 bo&#8217;lsa a=10&#8221;<br \/>\nelse if(buttonState == 2) a = 20; \/\/ &#8220;aksincha, agar buttonState=2 bo&#8217;lsa, a=20&#8221;<br \/>\nelse a = 30; \/\/ &#8220;aksincha, a=30&#8221;<\/div><\/div>\n<p style=\"text-align: justify;\"><strong>? <\/strong>(&#8220;\u0442\u0435\u0440\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440&#8221;) uchlik shartli operatorining (if\/else operatorining qisqartirilgan ko&#8217;rinishi) sintaksisi:<\/p>\n<p><strong>(shart) ? &lt;u holda&gt; : &lt;aksincha&gt;<\/strong><\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>'?' operatoriga misollar<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n(a &gt; b) ? c=10 : c=-20; \/\/ &#8220;agar a &gt; b bo&#8217;lsa, u holda \u0441 = 10. Aksincha \u0441 = -20&#8221;, yoki:<br \/>\n\u0441 = (a &gt; b) ? 10 : -20; \/\/ &#8220;agar a &gt; b bo&#8217;lsa, u holda \u0441 = 10. Aksincha \u0441 = -20&#8221;<\/p>\n<p>boolean flag = true;<br \/>\nSerial.println((flag) ? (&#8220;bayroq ko&#8217;tarildi&#8221;) : (&#8220;bayroq tushirildi&#8221;)); \/\/Ya&#8217;ni, agar flag=true bo&#8217;lsa, &#8216;bayroq ko&#8217;tarildi&#8217; yozuvi (aksincha &#8216;bayroq tushirildi&#8217; yozuvi) to&#8217;g&#8217;ridan-to&#8217;g&#8217;ri port monitorida ko&#8217;rsatiladi.<br \/>\n<\/div><\/div>\n<p><strong>switch\/case<\/strong> &#8211; tanlashga asoslangan shartli operator. Sintaksisi:<\/p>\n<p>switch (&lt;o&#8217;zgaruvchi&gt;){<br \/>\ncase &lt;1-qiymat&gt;: &lt;1-kod&gt;<br \/>\nbreak;<br \/>\ncase &lt;2-qiymat&gt;: &lt;2-kod&gt;<br \/>\nbreak;<br \/>\ndefault: &lt;3-kod&gt;<br \/>\nbreak;<br \/>\n}<\/p>\n<p>\/\/ default &#8211; qo&#8217;llanishi majburiy emas bo&#8217;lgan buyruq<br \/>\n\/\/ break &#8211; qo&#8217;llanishi majburiy bo&#8217;lgan buyruq<\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>'switch\/case\/break' operatoriga misollar<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\nswitch (val){<br \/>\ncase 1: \/\/ &#8220;agar val = 1 bo&#8217;lsa 1-kod bajarilsin:&#8221;<br \/>\n\/\/ 1-kod<br \/>\nbreak; \/\/shartdan chiqiladi<br \/>\ncase 2: \/\/ &#8220;agar val = 2 bo&#8217;lsa 2-kod bajarilsin:&#8221;<br \/>\n\/\/ 2-kod<br \/>\nbreak; \/\/shartdan chiqiladi<br \/>\ndefault: \/\/ &#8220;agar val yuqoridagi hech qaysi qiymatga teng bo&#8217;lmasa, 3-kod bajarilsin:&#8221;<br \/>\n\/\/ 3-kod<br \/>\nbreak; \/\/shartdan chiqiladi<br \/>\n} \/\/shartli operator oxiri<br \/>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Matematik operatorlar Arduinoda arifmetik operatorlarni bajarish uchun ifodada bevosita sonlarning o&#8217;zini qo&#8217;llash yoki oldin ularni o&#8217;zgaruvchiga o&#8217;zlashtirilib, so&#8217;ng ular ustida operatorlarni bajarish mumkin. Muhimi, o&#8217;zgaruvchilarning qiymat turini (qiymat qabul qilish sohasini) oldindan aniq belgilab olish zarur. Masalan, int turidagi o&#8217;zgaruvchi faqat -32 768\u2026 32 767 oralig&#8217;ida, unsigned int turidagi o&#8217;zgaruvchi faqat 0 \u2026 65 535 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-99","post","type-post","status-publish","format-standard","hentry","category-arduino"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/99","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=99"}],"version-history":[{"count":25,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/99\/revisions"}],"predecessor-version":[{"id":3932,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/99\/revisions\/3932"}],"wp:attachment":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=99"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=99"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=99"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}