محاسبات مدولار

از ویکیپدیا، دانشنامه آزاد
پرش به ناوبری پرش به جستجو
زمان سنجی در این ساعت از مدول حسابی 12 استفاده می کند. با افزودن 4 ساعت به ساعت 9 ساعت 1 به دست می آید، زیرا 13 با 1 مدول 12 مطابقت دارد.

در ریاضیات ، محاسبات مدولار یک سیستم حسابی برای اعداد صحیح است ، که در آن اعداد با رسیدن به یک مقدار معین، به نام مدول «در اطراف» می‌پیچند . رویکرد مدرن به حساب مدولار توسط کارل فردریش گاوس در کتاب Disquisitiones Arithmeticae که در سال 1801 منتشر شد، توسعه یافت.

یک کاربرد آشنا از محاسبات مدولار در ساعت 12 ساعته است که در آن روز به دو دوره 12 ساعته تقسیم می شود. اگر الان ساعت 7:00 است، 8 ساعت بعد ساعت 3:00 خواهد بود. جمع ساده منجر به 7 + 8 = 15 می شود ، اما ساعت ها هر 12 ساعت به دور خود می پیچند. از آنجایی که عدد ساعت پس از رسیدن به 12 دوباره شروع می شود، این مدول حسابی 12 است. از نظر تعریف زیر، 15 مطابق با 3 مدول 12 است، بنابراین "15:00" در ساعت 24 ساعته "3:00" نمایش داده می شود. "در یک ساعت 12 ساعته.

همخوانی

با توجه به یک عدد صحیح n > 1 که مدول نامیده می شود ، به دو عدد صحیح a و b گفته می شود که مدول n متجانس هستند، اگر n مقسوم علیه تفاوت آنها باشد (یعنی اگر یک عدد صحیح k وجود داشته باشد به طوری که a - b = kn باشد).

مدول همگامی n یک رابطه هم ارزی است، به این معنی که یک رابطه هم ارزی است که با عملیات جمع ، تفریق و ضرب سازگار است . مدول همخوانی n نشان داده می شود:

پرانتز به این معنی است که (mod n ) برای کل معادله اعمال می شود، نه فقط در سمت راست (اینجا b ). این نماد نباید با علامت b mod n (بدون پرانتز) که به عملیات مدول اشاره دارد، اشتباه گرفته شود . در واقع، b mod n عدد صحیح منحصر به فرد a را نشان می دهد به طوری که 0 ≤ a < n و(یعنی بقیهوقتی تقسیم بر).

رابطه تطابق ممکن است به صورت بازنویسی شود

رابطه آن را با تقسیم اقلیدسی به صراحت نشان می دهد . با این حال، b در اینجا لازم نیست باقیمانده تقسیم a بر n باشد. در عوض، آنچه که عبارت ab (mod n ) بیان می کند این است که a و b وقتی بر n تقسیم می شوند باقیمانده یکسانی دارند . به این معنا که،

که در آن 0 ≤ r < n باقیمانده مشترک است. با کم کردن این دو عبارت، رابطه قبلی را بازیابی می کنیم:

با تنظیم k = pq .

مثالها

در مدول 12 می توان ادعا کرد که:

زیرا 38 − 14 = 24 ، که مضربی از 12 است. راه دیگر برای بیان این است که بگوییم هر دو 38 و 14 با تقسیم بر 12 باقیمانده 2 یکسانی دارند.

تعریف همخوانی در مورد مقادیر منفی نیز صدق می کند. مثلا:

خواص

رابطه هم ارزی تمام شرایط یک رابطه هم ارزی را برآورده می کند :

  • بازتاب: aa (mod n )
  • تقارن: ab (mod n ) اگر ba (mod n ) برای همه a , b و n .
  • گذرا: اگر ab (mod n ) و bc (mod n ) ، آنگاه ac (mod n )

اگر a 1b 1 (mod n ) و a 2b 2 (mod n ) یا اگر ab (mod n ) باشد، آنگاه: [1]

  • a + kb + k (mod n ) برای هر عدد صحیح k (سازگاری با ترجمه)
  • kakb (mod n ) برای هر عدد صحیح k (سازگاری با مقیاس بندی)
  • a 1 + a 2b 1 + b 2 (mod n ) (سازگاری با جمع)
  • a 1a 2b 1b 2 (mod n ) (سازگاری با تفریق)
  • a 1 a 2b 1 b 2 (mod n ) (سازگاری با ضرب)
  • a kb k (mod n ) برای هر عدد صحیح غیر منفی k (سازگاری با توان)
  • p ( a ) ≡ p ( b ) (mod n ) ، برای هر چند جمله‌ای p ( x ) با ضرایب صحیح (سازگاری با ارزیابی چند جمله‌ای)

اگر ab (mod n ) , پس به طور کلی نادرست است که k ak b (mod n ) . با این حال، موارد زیر صادق است:

  • اگر cd (mod φ ( n ))، که در آن φ تابع تاینت اویلر است ، a c a d ( mod n ) — به شرطی که a همزمان با n باشد .

برای لغو شرایط رایج، قوانین زیر را داریم:

  • اگر a + kb + k (mod n ) ، جایی که k هر عدد صحیحی است، ab (mod n )
  • اگر kakb (mod n ) و k با n هم اول باشد ، ab (mod n )
  • اگر kakb (mod kn ) ، ab (mod n )

معکوس ضربی مدولار با قوانین زیر تعریف می شود:

  • وجود: یک عدد صحیح با -1 وجود دارد به طوری که aa -1 ≡ 1 (mod n ) اگر و فقط اگر a هم اول با n باشد وجود دارد. این عدد صحیح a –1 را معکوس ضربی مدولار یک مدول n می نامند .
  • اگر ab (mod n ) و a –1 وجود داشته باشد، a –1b –1 (mod n ) (سازگاری با معکوس ضرب، و اگر a = b ، مدول یکتایی n ) وجود دارد.
  • اگر axb (mod n ) و a همزمان با n باشد ، راه حل این همخوانی خطی با xa -1 b (mod n ) به دست می آید.

معکوس ضربی xa –1 (mod n ) را می توان به طور موثر با حل معادله بزو محاسبه کرد. برای- با استفاده از الگوریتم اقلیدسی توسعه یافته

به طور خاص، اگر p یک عدد اول باشد، a برای هر a هم‌آغاز با p است به طوری که 0 < a < p ; بنابراین یک معکوس ضربی برای همه a وجود دارد که با مدول صفر p مطابقت ندارد.

برخی از ویژگی های پیشرفته تر روابط همخوانی به شرح زیر است:

  • قضیه کوچک فرما : اگر p اول باشد و a را تقسیم نکند ، a p – 1 ≡ 1 (mod p ) .
  • قضیه اویلر : اگر a و n هم اول باشند، آنگاه a φ ( n ) ≡ 1 (mod n ) که φ تابع تایانت اویلر است.
  • یک نتیجه ساده از قضیه کوچک فرما این است که اگر p اول باشد، a −1a p− 2 (mod p ) معکوس ضربی 0 < a < p است. به طور کلی تر، از قضیه اویلر، اگر a و n هم اول باشند، a −1a φ ( n ) − 1 (mod n ) .
  • پیامد ساده دیگر این است که اگر ab (mod φ ( n ))، که در آن φ تابع تاینت اویلر است، آنگاه k ak b (mod n ) ارائه شده k با n همخوان است .
  • قضیه ویلسون : p اول است اگر و فقط اگر ( p − 1)! ≡ −1 ( mod p ) .
  • قضیه باقی مانده چینی : برای هر a , b و هم اول m , n , یک x منحصر به فرد وجود دارد ( mod mn ) به طوری که xa (mod m ) و xb ( mod n ) . در واقع، xbm n -1 m + an m -1 n (mod mn ) که در آن m n -1 معکوس m استمدول n و n m −1 معکوس n مدول m است.
  • قضیه لاگرانژ : همخوانی f ( x ) ≡ 0 (mod p ) , که در آن p اول است و f ( x ) = a 0 x n + ... + a n چند جمله ای با ضرایب صحیح است به طوری که 0 0 (mod p ) ، حداکثر n ریشه دارد.
  • مدول ریشه اولیه n : یک عدد g یک مدول ریشه ابتدایی n است اگر برای هر عدد صحیح یک عدد همزمان اول به n یک عدد صحیح k وجود داشته باشد به طوری که g ka (mod n ) باشد. یک مدول ریشه اولیه n وجود دارد اگر و فقط اگر n برابر با 2، 4، pk یا 2 pk باشد ، که در آن p یک عدد اول فرد و k یک عدد صحیح مثبت است. اگر یک مدول ریشه اولیه n وجود داشته باشد، دقیقاً وجود داردφ ( φ ( n )) چنین ریشه های ابتدایی، که در آن φ تابع اویلر است.
  • باقیمانده درجه دوم : یک عدد صحیح a یک مدول باقیمانده درجه دوم n است، اگر یک عدد صحیح x وجود داشته باشد به طوری که x 2a (mod n ) وجود داشته باشد. معیار اویلر بیان می کند که اگر p عدد اول فرد باشد و a مضرب p نباشد ، a یک مدول باقیمانده درجه دوم p است اگر و فقط اگر

کلاس های همخوانی

مانند هر رابطه همنوایی، مدول هم‌ارزی n یک رابطه هم ارزی است و کلاس هم ارزی عدد صحیح a که با a n نشان داده می‌شود مجموعه {..., a − 2 n , an , a , a + n است. a + 2 n , ... }. این مجموعه که از تمام اعداد صحیح متجانس با یک  مدول  n تشکیل شده است، کلاس همخوانی ، کلاس باقیمانده یا به سادگی باقیمانده نامیده می شود.از عدد صحیح a modulo  n . هنگامی که مدول n از متن شناخته می شود، آن باقیمانده نیز ممکن است [ a ] نشان داده شود .

سیستم های باقی مانده

هر کلاس باقیمانده مدول n ممکن است توسط هر یک از اعضایش نمایش داده شود، اگرچه ما معمولاً هر کلاس باقیمانده را با کوچکترین عدد صحیح غیرمنفی که به آن کلاس تعلق دارد نشان می دهیم [2] (زیرا این باقیمانده مناسبی است که از تقسیم حاصل می شود). هر دو عضو از کلاس های باقیمانده مختلف مدول n، مدول n ناهمخوان هستند . علاوه بر این، هر عدد صحیح متعلق به یک و تنها یک کلاس باقیمانده modulo n است. [3]

مجموعه اعداد صحیح {0, 1, 2, ..., n − 1 } را کمترین سیستم باقیمانده modulo n می نامند . هر مجموعه ای از n عدد صحیح، که هیچ دوتای آن ها مدول n همخوان نیستند ، یک سیستم باقیمانده کامل مدول n نامیده می شود .

سیستم کمترین باقیمانده یک سیستم باقیمانده کامل است و یک سیستم باقیمانده کامل به سادگی مجموعه ای است که دقیقاً یک نماینده از هر کلاس باقیمانده مدول n دارد. [4] به عنوان مثال. کمترین مقدار باقیمانده سیستم مدول 4 {0، 1، 2، 3} است. برخی دیگر از سیستم های باقیمانده کامل مدول 4 عبارتند از:

  • {1، 2، 3، 4}
  • {13، 14، 15، 16}
  • {−2، −1، 0، 1}
  • {−13، 4، 17، 18}
  • {−5، 0، 6، 21}
  • {27، 32، 37، 42}

برخی از مجموعه‌هایی که مدول 4 سیستم‌های باقیمانده کامل نیستند عبارتند از:

  • {−5، 0، 6، 22}، زیرا 6 با 22 مدول 4 همخوانی دارد.
  • {5، 15}، زیرا یک مدول سیستم باقیمانده کامل 4 باید دقیقاً 4 کلاس باقیمانده ناهمخوان داشته باشد.

سیستم های باقیمانده کاهش یافته

با توجه به تابع اویلر φ( n ) , هر مجموعه ای از اعداد صحیح φ( n ) که نسبتاً اول با n باشند و متقابلاً تحت مدول n ناهمخوان باشند، مدول n سیستم باقیمانده کاهش یافته نامیده می شود . [5] مجموعه {5،15} از بالا، برای مثال، نمونه‌ای از مدول 4 سیستم باقیمانده کاهش‌یافته است.

مدول n اعداد صحیح

مجموعه تمام طبقات همخوانی اعداد صحیح برای مدول n حلقه اعداد صحیح مدول n نامیده می شود ، [6] و نشان داده می شود.،، یا. [7] نمادبا این حال، توصیه نمی شود زیرا می توان آن را با مجموعه اعداد صحیح n- adic اشتباه گرفت . حلقهبرای شاخه های مختلف ریاضیات اساسی است (به § برنامه های کاربردی زیر مراجعه کنید).

مجموعه برای n > 0 به صورت زیر تعریف می شود:

(وقتی n = 0 ،مجموعه خالی نیست . بلکه هم شکل به است، زیرا 0 = { a }. )

جمع، تفریق و ضرب را بر روی تعریف می کنیمبا قوانین زیر:

تأیید اینکه این یک تعریف مناسب است، از ویژگی های ارائه شده قبل استفاده می کند.

به این ترتیب،حلقه جابه جایی می شود . مثلا در رینگ، ما داریم

همانطور که در حساب برای ساعت 24 ساعته.

ما از علامت گذاری استفاده می کنیمزیرا این حلقه ضریب استتوسط ایده آل ، مجموعه ای شامل تمام اعداد صحیح قابل تقسیم بر n ، که در آنمجموعه تک تن {0 } است. بدین ترتیبیک میدان است کهیک ایده آل حداکثر است (یعنی وقتی n اول باشد).

این را نیز می توان از گروه ساختتحت عملیات اضافه به تنهایی. کلاس باقیمانده a n کوست گروه a در گروه ضریب است ، یک گروه چرخه ای . [8]

به جای حذف حالت خاص n = 0 ، استفاده از آن مفیدتر است(که همانطور که قبلا ذکر شد به حلقه هم شکل استاز اعداد صحیح). در واقع، این گنجاندن هنگام بحث در مورد ویژگی یک حلقه مفید است .

حلقه اعداد صحیح مدول n یک میدان متناهی است اگر و فقط اگر n اول باشد (این امر تضمین می کند که هر عنصر غیر صفر دارای معکوس ضربی است ). اگریک توان اول با k > 1 است، یک میدان محدود منحصر به فرد (تا هم ریختی) وجود دارد.با n عنصر، اما اینطور نیست ، که نمی تواند یک فیلد باشد زیرا دارای مقسوم علیه صفر است .

زیرگروه ضربی اعداد صحیح modulo n با نشان داده می شود. این شامل(که در آن a همزمان با n است ) ، که دقیقاً کلاس هایی هستند که دارای یک معکوس ضربی هستند. این یک گروه جابجایی تحت ضرب، با ترتیب تشکیل می دهد.

برنامه های کاربردی

در ریاضیات نظری، محاسبات مدولار یکی از پایه‌های نظریه اعداد است که تقریباً بر همه جنبه‌های مطالعه آن تأثیر می‌گذارد، و همچنین در نظریه گروه ، نظریه حلقه ، نظریه گره و جبر انتزاعی کاربرد فراوانی دارد. در ریاضیات کاربردی، در جبر کامپیوتری ، رمزنگاری ، علوم کامپیوتر ، شیمی و هنرهای تجسمی و موسیقی استفاده می شود.

یک کاربرد بسیار عملی، محاسبه جمع‌های چک در شناسه‌های شماره سریال است. برای مثال، شماره کتاب استاندارد بین‌المللی (ISBN) از مدول 11 (برای شابک 10 رقمی) یا مدول 10 (برای ISBN 13 رقمی) برای تشخیص خطا استفاده می‌کند. به همین ترتیب، برای مثال، شماره حساب های بانکی بین المللی (IBAN) از محاسبات مدول 97 برای تشخیص خطاهای ورودی کاربر در شماره حساب های بانکی استفاده می کند. در شیمی، آخرین رقم شماره ثبت CAS (یک شماره شناسایی منحصر به فرد برای هر ترکیب شیمیایی) یک رقم چک است که با گرفتن آخرین رقم از دو قسمت اول شماره ثبت CAS محاسبه می شود.ضربدر 1، رقم قبلی ضربدر 2، رقم قبلی ضربدر 3 و غیره، با جمع کردن همه اینها و محاسبه مجموع مدول 10.

در رمزنگاری، محاسبات مدولار مستقیماً زیربنای سیستم‌های کلید عمومی مانند RSA و Diffie–Hellman است و زمینه‌های محدودی را فراهم می‌کند که زیر منحنی‌های بیضوی قرار دارند و در انواع الگوریتم‌های کلید متقارن از جمله استاندارد رمزگذاری پیشرفته ( AES)، الگوریتم رمزگذاری بین‌المللی داده استفاده می‌شود. IDEA)، و RC4 . RSA و Diffie-Hellman از توان مدولار استفاده می کنند.

در جبر کامپیوتری، معمولاً از محاسبات مدولار برای محدود کردن اندازه ضرایب صحیح در محاسبات و داده‌های میانی استفاده می‌شود. از آن در فاکتورسازی چند جمله ای استفاده می شود ، مسئله ای که همه الگوریتم های کارآمد شناخته شده برای آن از محاسبات مدولار استفاده می کنند. این توسط کارآمدترین پیاده سازی های چند جمله ای بزرگترین مقسوم علیه مشترک ، جبر خطی دقیق و الگوریتم های پایه گروبنر بر روی اعداد صحیح و اعداد گویا استفاده می شود. همانطور که در دهه 1980 در Fidonet پست شد و در Rosetta Code بایگانی شد ، از محاسبات مدولار برای رد فرضیه مجموع توانهای اویلر در میکروکامپیوتر QL Sinclair استفاده شد. با استفاده از تنها یک چهارم دقت اعداد صحیح مورد استفاده توسط یک ابررایانه CDC 6600 برای رد آن دو دهه قبل از طریق جستجوی brute force . [9]

در علوم کامپیوتر، محاسبات مدولار اغلب در عملیات بیتی و سایر عملیات‌هایی که شامل ساختارهای داده چرخه‌ای با عرض ثابت هستند، به کار می‌رود . عملیات مدول ، همانطور که در بسیاری از زبان‌های برنامه‌نویسی و ماشین‌حساب‌ها پیاده‌سازی می‌شود، یک کاربرد از محاسبات مدولار است که اغلب در این زمینه استفاده می‌شود. عملگر منطقی XOR 2 بیت را جمع می کند، مدول 2.

در موسیقی، مدول حسابی 12 برای در نظر گرفتن سیستم خلق و خوی مساوی دوازده تنی ، که در آن اکتاو و هم ارزی هماهنگ رخ می دهد استفاده می شود (یعنی زیر و بمی ها در نسبت 1:2 یا 2:1 معادل هستند و C- شار برابر است. همان D- Flat در نظر گرفته می شود ).

روش بیرون ریختن نه ها ، بررسی سریع محاسبات حسابی اعشاری انجام شده با دست را ارائه می دهد. این بر اساس مدول حسابی مدولار 9، و به طور خاص بر روی ویژگی حیاتی که 10 ≡ 1 (mod 9) است.

مدول حسابی 7 در الگوریتم هایی استفاده می شود که روز هفته را برای یک تاریخ معین تعیین می کنند. به طور خاص، تطابق زلر و الگوریتم روز قیامت به شدت از محاسبات مدول-7 استفاده می کنند.

به طور کلی‌تر، حساب مدولار در رشته‌هایی مانند حقوق (مثلاً تقسیم‌بندیاقتصاد (مثلاً نظریه بازی‌ها ) و سایر حوزه‌های علوم اجتماعی کاربرد دارد، که در آن تقسیم و تخصیص متناسب منابع، بخش مرکزی تحلیل را بازی می‌کند.

پیچیدگی محاسباتی

از آنجایی که محاسبات مدولار دارای چنین طیف وسیعی از کاربردها است، مهم است که بدانیم حل یک سیستم همخوانی چقدر سخت است. یک سیستم خطی از تطابق را می توان در زمان چند جمله ای با شکلی از حذف گاوسی حل کرد، برای جزئیات بیشتر به قضیه همخوانی خطی مراجعه کنید . الگوریتم‌هایی مانند کاهش مونتگومری نیز وجود دارند تا به عملیات‌های ساده حسابی مانند ضرب و مدول توان  n اجازه دهند تا به طور موثر بر روی اعداد بزرگ انجام شوند.

برخی از عملیات، مانند یافتن یک لگاریتم گسسته یا یک تطابق درجه دوم ، به نظر می رسد به سختی فاکتورسازی اعداد صحیح هستند و بنابراین نقطه شروعی برای الگوریتم های رمزنگاری و رمزگذاری هستند. این مشکلات ممکن است NP-intermediate باشند.

حل یک سیستم معادلات حسابی مدولار غیر خطی NP-complete است. [10]

اجراهای نمونه

در زیر سه تابع C نسبتاً سریع وجود دارد، دو تابع برای انجام ضرب مدولار و یکی برای توان مدولار در اعداد صحیح بدون علامت بزرگتر از 63 بیت، بدون سرریز عملیات گذرا.

روشی الگوریتمی برای محاسبه: [11]

uint64_t mul_mod ( uint64_t a , uint64_t b , uint64_t m )      
{
   اگر ( ! (( a | b ) & ( 0xFFFFFFFFULL << 32 )))       
       بازگشت a * b % m ;     

   uint64_t d = 0 , mp2 = m >> 1 ;        
   int i ; 
   if ( a >= m ) a %= m ;      
   if ( b >= m ) b %= m ;      
   برای ( i = 0 ; i < 64 ; ++ i )       
   {
       d = ( d > mp2 ) ? ( d << 1 ) - m : d << 1 ;              
       اگر ( a & 0x8000000000000000ULL )   
           d += b ;  
       اگر ( d >= m ) d -= m ;      
       a <<= 1 ;  
   }
   بازگشت d ; 
}

در معماری‌های رایانه‌ای که در آن یک قالب دقیق گسترده با حداقل 64 بیت مانتیس موجود است (مانند نوع طولانی دوتایی اکثر کامپایلرهای x86 C)، روال زیر [ توضیحات لازم است ] ، با استفاده از ترفندی که توسط سخت‌افزار، شناور است. ضرب نقطه منجر به مهم‌ترین بیت‌های حاصلضرب می‌شود، در حالی که ضرب اعداد صحیح باعث می‌شود کمترین بیت‌های مهم حفظ شوند: [ نیازمند منبع ]

uint64_t mul_mod ( uint64_t a , uint64_t b , uint64_t m )      
{
   x طولانی دوبل ;  
   uint64_t c ; 
   int64_t r ; 
   if ( a >= m ) a %= m ;      
   if ( b >= m ) b %= m ;      
   x = a ;  
   c = x * b / m ;      
   r = ( int64_t )( a * b - c * m ) % ( int64_t ) m ;          
   r < 0 را برگردانید ؟ r + m : r ;         
}

در زیر یک تابع C برای انجام توان مدولار وجود دارد که از تابع mul_mod پیاده سازی شده در بالا استفاده می کند.

روشی الگوریتمی برای محاسبه:

uint64_t pow_mod ( uint64_t a , uint64_t b , uint64_t m )      
{
    uint64_t r = m == 1 ? 0 : 1 ;   
    در حالی که ( b > 0 ) {    
        اگر ( ب و 1 )   
            r = mul_mod ( r , a , m );    
        b = b >> 1 ;    
        a = mul_mod ( a , a , m );    
    }
    بازگشت r ; 
}

با این حال، برای اینکه همه روال های بالا کار کنند، m نباید از 63 بیت تجاوز کند.

همچنین ببینید

یادداشت ها

  1. ^ ساندور لهوچکی؛ ریچارد راسکی. دیوید پاتریک (ویرایشگر). هنر حل مسئله جلد 1 (7 ویرایش). پ. 44. شابک 0977304566.
  2. وایستاین، اریک دبلیو. "محاسبات مدولار" . mathworld.wolfram.com . بازیابی شده در 2020-08-12 .
  3. پتوفرزو و بیرکیت (1970 ، ص 90)
  4. ^ طولانی (1972 ، ص 78)
  5. ^ طولانی (1972 ، ص 85)
  6. ^ این یک حلقه است ، همانطور که در زیر نشان داده شده است.
  7. «2.3: اعداد صحیح مدول n» . LibreTexts ریاضی . 2013-11-16 . بازیابی شده در 2020-08-12 .
  8. سنگادیر تی.، ریاضیات گسسته و ترکیبیات ، ص. 293، در Google Books
  9. «حدس مجموع قوای اویلر» . rosettacode.org _ بازیابی شده 2020-11-11 .
  10. ^ گاری، MR؛ جانسون، دی اس (1979). کامپیوترها و سخت‌ناپذیری، راهنمای تئوری NP-Completeness . WH فریمن. شابک 0716710447.
  11. ^ این کد از نماد واقعی C برای اعداد هگزادسیمال بلند بلند بدون علامت استفاده می کند که باULL. همچنین به بخش 6.4.4 مشخصات زبان n1570 مراجعه کنید.

منابع

پیوندهای خارجی