عنصر منطقی به غیر از یا. اپراتورهای منطقی عملیات منطقی VBA به غیر از

اغلب، به منظور نشان دادن قابلیت های محدود از Perceptrons تک لایه در هنگام حل مشکلات، به بررسی مشکل به اصطلاح متوسل می شود. XOR - منحصر به فرد یا.

ماهیت وظیفه این است که به شرح زیر باشد. تابع منطقی Xor از excluding یا. این تابع از دو استدلال است که هر کدام می توانند صفر یا واحد باشند. هنگامی که یکی از استدلال ها برابر با یکی است، ارزش آن را می گیرد، اما نه هر دو، در غیر این صورت. مشکل را می توان با استفاده از یک سیستم تک مرحله تک لایه با دو ورودی نشان داده شده در شکل زیر نشان داد.

یک ورودی را از طریق یک ورودی جدا کنید و از طریق آن، تمام ترکیبات احتمالی خود را از چهار امتیاز در هواپیما تشکیل دهید. جدول زیر لینک مورد نیاز بین ورودی ها و خروجی را نشان می دهد، جایی که ترکیبات ورودی که باید خروجی صفر را نشان می دهد برچسب گذاری شود و یک خروجی واحد - و.

نکته ها مقدار مقدار خروجی مورد نیاز
0 0 0
1 0 1
0 1 1
1 1 0

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

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

توجه داشته باشید که این شبکه به عنوان آن داده شده است، I.E. ما می توانیم فرض کنیم که قبلا آموزش دیده است. اعداد بالای فلش، مقادیر مقیاس های سیناپسی را نشان می دهند. به عنوان یک تابع فعال سازی، ما عملکرد یک پرش تک را با یک آستانه با داشتن نمودار زیر اعمال خواهیم کرد:

سپس نتیجه عملیات چنین شبکه عصبی را می توان به عنوان جدول زیر نشان داد:

نکته ها مقدار مقدار خروجی مورد نیاز
0 0 0 0 0 0
1 0 1 1 0 1
0 1 1 0 1 1
1 1 0 0 0 0

هر یک از دو نورون اول لایه، یک سطح تعیین کننده را به صورت یک خط مستقیم دلخواه تشکیل می دهد (هواپیما را به دو نیمه نیمه تقسیم می کند) و نورون لایه خروجی این دو راه حل را ترکیب می کند، تشکیل یک سطح تعیین کننده در شکل یک نوار تشکیل شده توسط نورون های موازی مستقیم از لایه اول:

شبکه عصبی مورد استفاده در این مقاله برای حل وظیفه Xor، ابتدایی است و از تمام قابلیت های شبکه های چند لایه استفاده نمی کند. واضح است که شبکه های عصبی چند لایه دارای ظرفیت بیشتری نسبت به تک لایه دارند، تنها در مورد حضور غیر خطی. و در این شبکه، یک تابع فعال سازی خطی آستانه اعمال می شود. به عنوان مثال، چنین شبکه ای نمی تواند آموزش داده شود، با استفاده از یک الگوریتم توزیع خطا خطا.

عملکرد انجام شده توسط آنها تا حدودی پیچیده تر از در مورد یک مورد و یا عنصر یا. تمام ورودی های عنصر به استثنای یا برابر، اما هیچ یک از ورودی ها می توانند سایر ورودی ها را با تنظیم سیگنال خروجی به واحد یا سطح صفر مسدود کنند. جدول 4.1 حقیقت مخزن عناصر دو طرفه از کنار گذاشتن یا
ورود 1 ورود 2 خروجی
0 0 0
0 1 1
1 0 1
1 1 0


شکل. 4.1.

تحت عملکرد، به غیر از یا اشاره به موارد زیر: واحد در خروجی ظاهر می شود زمانی که تنها یک ورودی وجود دارد. اگر واحدهای ورودی دو یا چند هستند، یا اگر در تمام ورودی های صفر، خروجی صفر باشد. حقیقت مخزن عنصر دوگانه در کنار جدول یا داده شده است. 4.1. تعیین شده در مدارهای داخلی و خارجی در شکل نشان داده شده است. 4.1. کتیبه بر اساس تعیین داخلی عنصر، حذف یا "\u003d 1" فقط نشان می دهد که وضعیت زمانی مشخص می شود که یک واحد و تنها یک واحد در ورودی ها مشخص شده است.

عناصر به استثنای یا در سری استاندارد کمی. سری داخلی ارائه تراشه های LP5 (چهار عنصر دو محور با خروجی 2C)، LL3 و LP12، از خروجی OK LP5 متفاوت است. عملکرد بیش از حد خاص توسط این عناصر اجرا می شود.

از نقطه نظر ریاضیات، عنصر حذف یا انجام عملیات به اصطلاح جمع بندی ماژول 2. بنابراین، این عناصر نیز به عنوان افزودنی در ماژول دو نامیده می شود. همانطور که قبلا در سخنرانی قبلی ذکر شده، خلاصه ای از ماژول 2 یک علامت پلاس محصور شده در یک دایره است.

استفاده اصلی از عناصر به غیر از یا، به طور مستقیم زیر موارد زیر است تاتا از حقیقتاین شامل مقایسه دو سیگنال ورودی است. در مورد زمانی که دو واحد یا دو صفر به ورودی ها می آیند (سیگنال همزمان)، صفر در خروجی تشکیل می شود (جدول 4.1 را ببینید). معمولا، با استفاده از این نرم افزار، یک سطح دائمی به یک ورودی عنصر عرضه می شود، که سیگنال تغییر زمان به یک ورودی دیگر می رسد. اما به طور قابل توجهی بیشتر برای مقایسه سیگنال ها و کدهای اعمال تراشه های خاص cOMMARTERS CODOVکه در سخنرانی بعدی بحث خواهد شد.

به عنوان یک ماژول Adder 2، عنصر به صورت موازی و متوالی برای ماژول 2 استفاده می شود، که برای محاسبه چک های چرخه ای استفاده می شود. اما این طرح ها به طور دقیق در سخنرانی های 14.15 مورد بحث قرار خواهد گرفت.

استفاده مهم از عناصر غیرقانونی یا یک اینورتر مدیریت شده (شکل 4.2). در این مورد، یکی از ورودی های عنصر به عنوان یک مدیر استفاده می شود و یک سیگنال اطلاعاتی به عنصر دیگری می آید. اگر واحد ورودی باشد، اگر صفر معکوس نیست، سیگنال ورودی معکوس است. اغلب سیگنال کنترل تنظیم شده توسط یک سطح ثابت با تعریف حالت عنصر، و سیگنال اطلاعات پالس شده است. یعنی یک عنصر به غیر از یا می تواند قطبیت سیگنال ورودی یا جلو را تغییر دهد و ممکن است بسته به آن تغییر کند سیگنال کنترل.


شکل. 4.2.

در مورد زمانی که دو سیگنال از همان قطبیت وجود دارد (مثبت یا منفی)، و در عین حال ورود به طور همزمان آنها حذف می شود، عنصر حذف یا می تواند مورد استفاده قرار گیرد برای ترکیب این سیگنال ها (شکل 4.3). با هر قطبي از سیگنال های ورودی، سیگنال های خروجی عنصر مثبت خواهد بود. با سیگنال های ورودی مثبت، عنصر به عنوان یک عنصر 2 عمل می کند و با منفی آن عنصر 2 را جایگزین خواهد کرد - نه. چنین جایگزینی ممکن است در مواردی مفید باشد که برخی از عناصر به غیر از عناصر خارج می شوند یا در نمودار قرار دارند. درست است، باید در ذهن داشته باشیم تاخیر توزیع سیگنال در عنصر، یا معمولا تا حدودی بزرگتر (حدود 1.5 برابر) از تاخیر در ساده ترین عناصر و، و غیر، یا غیر قابل است.

بیت حداقل واحد اندازه گیری اطلاعات است، زیرا یکی از دو ارزش را ذخیره می کند - 0 (نادرست) یا 1 (درست). نادرست و درست به دروغ روسی و حقیقت ترجمه شده است. به عبارت دیگر، یک سلول بیت می تواند به طور همزمان تنها در یک حالت ممکن از دو. اجازه بدهید به شما یادآوری کنم، دو حالت ممکن از سلول عوضی برابر هستند - 1 و 0.
عملیات خاصی برای دستکاری با بیت وجود دارد. این عملیات عملیات منطقی یا بولی نامیده می شود، که پس از یکی از ریاضیدانان - جورج بول (1864-1815) نامیده می شود، که به توسعه این زمینه علم کمک کرده است.
تمام این عملیات را می توان به هر کمی اعمال کرد، صرف نظر از آن که آن را مطابقت می دهد - 0 (صفر) یا 1 (یکی). در زیر عملیات منطقی اصلی و نمونه هایی از استفاده از آنهاست.

عملیات منطقی و (و)

تعیین و:

عملیات منطقی و با دو بیت انجام می شود، بیایید آنها را A و B تماس بگیریم. نتیجه عملیات منطقی و برابر با 1، اگر A و B برابر با 1 باشند، و در سایر موارد دیگر (دیگر)، نتیجه برابر با 0. ما به جدول حقیقت عملیات منطقی نگاه می کنیم و .

a (بیت 1) ب (بیت 2) a (بیت 1) و b (بیت 2)
0 0 0
0 1 0
1 0 0
1 1 1

عملیات منطقی یا (یا)

یا: |

عملیات منطقی یا اجرا شده با دو بیت (A و B). نتیجه اجرای یک عملیات منطقی یا 0 اگر A و B برابر با 0 (صفر) باشند، و در سایر موارد دیگر (دیگر)، نتیجه 1 (واحد) است. ما به جدول حقیقت عملیات منطقی نگاه می کنیم یا.

a (بیت 1) ب (بیت 2) a (بیت 1) | ب (بیت 2)
0 0 0
0 1 1
1 0 1
1 1 1

عملیات منطقی به غیر از یا (XOR).

تعیین XOR: ^
عملیات منطقی با دو بیت (A و B) حذف یا اجرا می شود. نتیجه عملیات منطقی XOR برابر با 1 (واحد) خواهد بود، اگر یکی از بیت های A یا B 1 (واحد) باشد، در تمام موارد دیگر، نتیجه 0 (صفر) است. ما به جدول حقیقت عملیات منطقی به جز یا.

a (بیت 1) ب (بیت 2) a (بیت 1) ^ b (بیت 2)
0 0 0
0 1 1
1 0 1
1 1 0

عملیات منطقی نه (نه)

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

a (بیت 1) ~ A (بیت انکار)
0 1
1 0

به یاد داشته باشید این 4 عملیات منطقی. با استفاده از این عملیات منطقی، می توانیم نتیجه ممکن را دریافت کنیم. جزئیات مربوط به استفاده از عملیات منطقی در C ++ Read.

در این مقاله ما در مورد برخی عملیات بیت صحبت خواهیم کرد. موارد اصلی را در نظر بگیرید: XOR (به استثنای یا)، و (و)، نه (نه) و همچنین (یا).

همانطور که شناخته شده است، حداقل واحد اندازه گیری اطلاعات است بیتکه یکی از 2 ارزش را ذخیره می کند: 0 ( اشتباه، دروغ) یا 1 ( درست است، واقعی.، حقیقت). بنابراین، سلول بیت می تواند به طور همزمان تنها در یکی از دو حالت ممکن باشد.

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

عملیات منطقی و (و)

و. نشانه ها را نشان می دهد و.

و اپراتور با 2 بیت انجام می شود، به عنوان مثال، a و b. نتیجه بهره برداری از عملیات و برابر با 1، اگر A و B برابر با 1. در موارد دیگر، نتیجه 0. به عنوان مثال، با کمک و شما می توانید پیدا کردن، یک عدد خود و یا نه.

به جدول حقیقت نگاه کنید و:

عملیات منطقی یا (یا)

نشانه نشانه | .

اپراتور یا. همچنین با 2 بیت (A و B) انجام می شود. نتیجه 0، اگر A و B برابر با 0 باشند، در غیر این صورت برابر است 1. ما به جدول حقیقت نگاه می کنیم.

عملیات منطقی XOR (به غیر از یا)

بیانیه XOR نشان داده شده است ^.

XOR انجام شده با 2 بیت (A و B). نتیجه عملیات عملیات XOR ( به غیر از) برابر با 1، زمانی که یکی از بیت های B یا A 1. در موقعیت های دیگر، نتیجه استفاده از بیانیه XOR 0 است.

جدول حقیقت عملیات منطقی برای XOR (به غیر از یا) به نظر می رسد:

با استفاده از XOR (منحصر به فرد یا)، می توانید مقادیر 2 نوع متغیر یکسان را بدون استفاده از یک متغیر موقت تغییر دهید. و همچنین، توسط XOR، شما می توانید متن را رمزگذاری کنید، به عنوان مثال:

رشته msg \u003d "این یک پیام است"؛ پیام char \u003d msg.tocararray ()؛ رشته کلید \u003d ". *)"؛ رشته رمزگذاری شده \u003d رشته جدید ()؛ برای (INT I \u003d 0؛ I< message.length; i++){ encryptedString += message[i]^key.toCharArray(); }

من موافقم، XOR دور از روش قابل اعتماد ترین رمزگذاری است، اما این بدان معنا نیست که نمی توان آن را بخشی از یک الگوریتم رمزنگاری انجام داد.

عملیات منطقی نیست (نه)

این انکار دسته ای است، بنابراین با یک بیت انجام می شود و نشان داده می شود ~.

نتیجه بستگی به وضعیت بیت دارد. اگر آن را در حالت صفر، نتیجه عملیات یک واحد و بالعکس است. همه چیز بسیار ساده است.

این 4 عملیات منطقی باید به طور عمده به یاد داشته باشند، زیرا با کمک آنها می توانید تقریبا هر نتیجه ممکن را دریافت کنید. عملیات نیز وجود دارد<< (побитовый сдвиг влево) и >\u003e (به سمت راست حرکت کنید).

فرمان XOR در مونتاژ، یک استثنا یا بین تمام بیت های دو اپرنز را انجام می دهد. نتیجه عملیات XOR در اولین اپراتور ثبت می شود. نحو:

گیرنده XOR، منبع

بیانیه XOR همیشه CF را کاهش می دهد و همچنین (بسته به نتیجه) پرچم ها SF، ZF و PF را تغییر می دهد. ارزش پرچم AF را می توان هر گونه - آن را به نتیجه عملیات بستگی ندارد.

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

  • منطقه حافظه (MEM)

منبع ممکن است یکی از موارد زیر باشد:

  • منطقه حافظه (MEM)
  • ثبت نام عمومی (REG)
  • ارزش مستقیم - ثابت (IMM)

با توجه به محدودیت هایی که در بالا توضیح داده شد، ترکیبی از گیرنده منبع ممکن است به شرح زیر باشد:

REG، MEM MEM، REG، REG MEM، IMM REG، IMM

عملیات حذف یا

هنگام اجرای یک مقدار منحصر به فرد یا ارزش، اگر بیت ها مقایسه شوند (نه برابر)، برابر با 1 برابر خواهد بود. اگر بیت ها در مقایسه با همان مقدار هستند، نتیجه برابر با 0 خواهد بود.

بنابراین، این عملیات منحصر به فرد است. این بیت های مشابه را از مقایسه، و عملیات عملیات نابرابر حذف می کند.

اما، از آنجا که هر جفت بیت نابرابر 0 و 1 است، پس از عمل منطقی یا به عنوان یک نتیجه 1 را می دهد.

TATAC از حقیقت حذف یا

جدول حقیقت زیر است:

0 XOR 0 \u003d 0 XOR 1 = 1 1 XOR 0 \u003d. 1 1 XOR 1 = 0

ویژگی های عملیات XOR

عملیات XOR دارای اموال برگشت پذیر است. اگر دو بار دو بار با همان عملگر انجام می شود، مقدار ارزش معکوس شده است. به این ترتیب، اگر شما این عملیات را بین بیت ها انجام دهید ایکس. و Y.، در نهایت ما مقدار اولیه دسته ای را دریافت می کنیم H..

0 XOR 0 \u003d 0 XOR 0 = 0 0 XOR 1 \u003d 1 xor 1 = 0 1 XOR 0 \u003d 1 xor 0 = 1 1 XOR 1 \u003d 0 XOR 1 = 1

برای مثال، این ویژگی می تواند مورد استفاده قرار گیرد، برای مثال، برای ساده ترین رمزگذاری داده ها (این به نحوی دیگر) استفاده می شود.

چک کردن پرچم پس از عملیات XOR

فرمان XOR با عملیات 8، 16 و 32 بیتی کار می کند.

گاهی اوقات نیاز به بررسی پرچم PF پس از انجام عملیات وجود دارد، به منظور پیدا کردن چند بیت واحد (حتی عجیب و غریب) موجود است خلیج نتیجه (این ضروری است نه تنها اگر عملیات XOR انجام شود، بلکه هنگام انجام سایر عملیات ریاضی و منطقی نیز ضروری است.

اگر پرچم نصب شده باشد، نتیجه یک عدد واضح از بیت های تک است. در غیر این صورت، پرچم بازنشانی خواهد شد.

شما همچنین می توانید به سادگی هر شماره را تأیید کنید، بدون تغییر ارزش نتیجه. برای انجام این کار، شما باید فرمان XOR را با مقدار صفر اجرا کنید. به عبارت دیگر، گیرنده باید یک عدد قابل اثبات باشد و منبع باید صفر باشد. و سپس شما باید پرچم اعتقاد را بررسی کنید. مثال:

AL، 10110101b؛ محل در AL A شماره با عدد؛ تعداد بیت های تک (5) XOR AL، 0؛ در همان زمان، پرچم PF نه؛ مجموعه (po) mov al، 10110111b؛ محل در Al the شماره با خواننده؛ تعداد بیت های تک (6) XOR AL، 0؛ در این مورد، پرچم PF؛ تنظیم خواهد شد (PE)

در debuggers، معمولا برای تعیین تعدادی از واحدها در نتیجه حاصل می شود، و حتی کاهش حتی کاهش، و برای عجیب و غریب - PO (Parity Odd) استفاده می شود.

آماده در کلمات 16 بیتی

همانطور که قبلا ذکر شد، پرچم اعتقادی بسته به تعداد واحدهای موجود در نتایج جوان تنظیم شده است. برای بررسی خواننده اپل 16 بیتی، شما باید فرمان XOR را بین ارشد و جوانترین بایت این شماره اجرا کنید:

MOV AX، 64C1H؛ 0110 0100 1100 0001 - 6 بیت تک XOR AH، AL؛ پرچم آمادگی نصب خواهد شد

به طوری ساده، اپند 16 بیتی به دو بایت تقسیم می شود (2 گروه از 8 بیت)، و هنگام اجرای فرمان XOR، بیت های تک، که در تخلیه های مربوطه دو اپراتور 8 بیتی هستند، به دست نمی آیند حساب. از آنجا که بیت مربوطه نتیجه صفر است.

دستور XOR هر دو عدد واحد متقاطع را از دو operands 8 بیتی از نتیجه حذف می کند و به نتیجه می افزاید. به عبارت دیگر، آمادگی شماره 8 بیتی دریافت شده توسط ما همانند آمادگی شماره 16 بیتی اصلی خواهد بود.

0110 0100 1100 0001 - منبع 16 بیتی منبع 0 XOR 1 = 1 1 XOR 1 = 0 1 XOR 0 = 1 0 XOR 0 = 0 0 XOR 0 = 0 1 XOR 0 = 1 0 XOR 0 = 0 0 XOR 1 = 1

در نتیجه، 4 واحد، یعنی پرچم PF نصب خواهد شد

آماده در 32 بیت دوگانه کلمات

خوب، اگر شما نیاز به تعیین آمادگی در یک شماره 32 بیتی دارید؟

سپس تعداد به چهار بایت تقسیم می شود و به طور متناوب با این بایت ها، عملیات انجام می شود یا.

به عنوان مثال، ما یک شماره 32 بیتی را شکستیم ب چهار بایت B0, B1, B2, B3.جایی که B0 - این بایت جوانتر است.

سپس برای تعیین آمادگی تعداد در ما باید از فرمول زیر استفاده کنیم:

B0 XOR B1 XOR B2 XOR B3

اما در اسمبلر، چنین رکوردی غیر قابل قبول است. بنابراین، شما باید کمی فکر کنید.

و در نهایت، منشا منشا XOR. یک کلمه الکترونیکی به زبان انگلیسی وجود دارد ایکس.cEPTION - استثنا کاهش از این کلمه نامه است H. (بنابراین لازم بود). شما احتمالا در تبلیغات و یا در نام محصولاتی که تولید کنندگان آنها (به خوبی، یا فکر می کنم این ادعا) به انحصار، ملاقات کرده اند. به عنوان مثال، Lada Xray، Sony Xperia، و غیره بنابراین XOR مخفف جمع آوری شده از دو کلمه است - E ایکس.جبران یا. - به غیر از یا.