Mantıksal eleman hariç veya. Mantıksal Operatörler VBA Mantıksal Çalıştırma Hariç veya

Genellikle, sorunları çözerken tek katmanlı perceptrons'ın sınırlı yeteneklerini göstermek için, sözde problemin dikkate alınmasına başvurulur. Xor - özel veya.

Görevin özü aşağıdaki gibi olmaktır. Mantıksal fonksiyon XOR hariç veya. Bu işlev, her biri sıfır veya birim olabilen iki argümandandır. Argümanlardan biri birine eşit olduğunda, aksi halde değil, bir değer alır. Sorun, aşağıdaki şekilde gösterilen iki girişli tek katmanlı tek kademeli bir sistem kullanılarak gösterilebilir.

Bir girişi ve diğerini geçersiz kılar, o zaman tüm olası kombinasyonları uçaktaki dört nokta oluşacaktır. Aşağıdaki tablo, girişler ve çıkış arasında, burada sıfır çıkış vermesi gereken giriş kombinasyonlarının etiketlendiği ve tek bir çıkış ve ve tek bir çıkış ile ilgili bağlantıyı göstermektedir.

Puan Değer vermek Değer vermek Gerekli çıktı
0 0 0
1 0 1
0 1 1
1 1 0

İki girişli bir nöron, rastgele düz bir çizgi şeklinde belirleyici bir yüzey oluşturabilir. Ağın XOR işlevini uygulayabilmesi için, yukarıdaki belirtilen tabloda, noktaların doğrudan bir tarafında olmasını sağlaması gerekir ve nokta diğerindedir. Aşağıdaki şekilde böyle düz bir çizgi çizmeye çalıştıysanız, imkansız olduğundan emin oluruz. Bu, değerlerin ölçeklere ve eşiğine atfedilenlerin, tek katmanlı bir sinir ağının, XOR işlevini temsil etmek için gereken giriş ve çıkış arasındaki oranı çoğaltamadığı anlamına gelir.

Bununla birlikte, XOR işlevi, iki katmanlı bir ağ tarafından ve birçok yönden kolayca oluşturulur. Bu yollardan birini düşünün. Ağa, başka bir gizli nöron katmanı ekleyerek şebekeyi yükseltiyoruz:

Bu ağın olduğu gibi verildiğini unutmayın, yani Zaten eğitilmiş olduğunu varsayabiliriz. Okların üzerindeki sayılar, sinaptik ölçeklerin değerlerini gösterir. Bir aktivasyon işlevi olarak, aşağıdaki grafiğe sahip bir eşik ile tek bir atlamanın işlevini uygulayacağız:

Daha sonra böyle bir sinir ağının çalışmasının sonucu aşağıdaki tablo olarak gösterilebilir:

Puan Değer vermek Değer vermek Gerekli çıktı
0 0 0 0 0 0
1 0 1 1 0 1
0 1 1 0 1 1
1 1 0 0 0 0

İlk tabakanın iki nöronunun her biri, keyfi bir düz çizgi şeklinde belirleyici bir yüzey oluşturur (düzlemi iki yarı düzlemlere böler) ve çıkış katmanının nöronu, bu iki çözümü birleştirerek, içinde belirleyici bir yüzey oluşturur. Birinci katmanın paralel düz nöronlarının oluşturduğu bir şeridin formu:

Bu makalede kullanılan sinir ağı, XOR görevini çözmek için ilkeldir ve çok katmanlı ağların tüm yeteneklerini kullanmaz. Çok katmanlı sinir ağlarının, yalnızca doğrusal olmayanlığın varlığı durumunda, tek katmandan daha büyük bir kapasiteye sahip olduğu açıktır. Ve bu ağda, bir eşik lineer aktivasyon işlevi uygulanır. Böyle bir ağ, örneğin, ters bir şekilde dağıtım algoritmasını bir hata uygulayarak eğitilemez.

Onlar tarafından gerçekleştirilen fonksiyon, bir öğe ve öğe veya öğe durumunda olduğundan biraz daha karmaşıktır. Tüm eleman girişleri hariç veya eşit, ancak girişlerin hiçbiri çıkış sinyalini üniteye veya sıfır seviyesine ayarlayarak diğer girişleri engelleyemez. Tablo 4.1. Tank gerçeği hariç iki yönlü elemanları veya
Giriş 1. Giriş 2. Çıktı
0 0 0
0 1 1
1 0 1
1 1 0


İncir. 4.1.

Fonksiyonun altında, aşağıdakileri hariç tutun veya belirtir: Çıkıştaki ünite yalnızca bir giriş mevcut olduğunda görünür. Girişlerdeki üniteler iki veya daha fazla ise veya sıfırın tüm girişlerinde ise, çıkış sıfır olacaktır. Tank gerçeği İki zamanlı eleman, masada hariç veya verilir. 4.1. Yurtiçi ve yabancı devrelerde kabul edilen atamalar, Şekil 2'de gösterilmiştir. 4.1. Elemanın yurt içi atanması üzerindeki yazıt veya "\u003d 1", yalnızca bir ünite girişlerde olduğunda durumun ayırt edildiğini gösterir.

Hariç tutma veya standart serilerdeki öğeler. Yurtiçi serisi, LP5 cips (2c çıkışlı dört iki eksenli eleman), LL3 ve LP12, LP5 OK çıkışından farklıdır. Çok özel işlev bu unsurlar tarafından uygulanır.

Matematik açısından, modülün 2. topluluğunun çalışmasını hariç tutma veya gerçekleştiren eleman. Bu nedenle, bu elemanların iki modüldeki eklentiler de denir. Önceki dersde belirtildiği gibi, Modül 2'nin toplamı bir daire içine alınmış bir artı işaretidir.

Hariç tutulan elemanların ana kullanımı veya doğrudan aşağıdakileri gerçek tatasetsİki giriş sinyalinin karşılaştırılmasından oluşur. İki ünite veya iki sıfır girişlere (sinyaller çakışır), çıkışta sıfır oluşturulur (bkz. Tablo 4.1). Genellikle, bu uygulama ile, zaman değiştirme sinyalinin başka bir girişe geldiği bir element girişine kalıcı bir seviye sağlanır. Ancak, sinyallerin ve kodların karşılaştırılması için önemli ölçüde daha sık özel cips uygulayın karşılaştırıcılar codovBir sonraki dersde hangi tartışılacaktır.

Bir el başlığı modülü 2 olarak, eleman, siklik kontrolleri hesaplamaya hizmet eden Modül 2 için paralel ve ardışık bölenlerde hariç tutulur veya kullanılır. Ancak bu şemalar Ders 14.15'te detaylı olarak tartışılacaktır.

Önemli elemanların hariç kullanımı veya yönetilen bir invertördür (Şekil 4.2). Bu durumda, eleman girişlerinden biri yönetici olarak kullanılır ve bir bilgi sinyali başka bir öğeye gelir. Ünite girdi ise, sıfır ters çevrilmezse, giriş sinyali ters çevrilir. En sık kontrol sinyali Elemanın modunu tanımlayarak sabit bir seviye ayarlayın ve bilgi sinyali darbelidir. Yani, giriş sinyalinin veya cephesinin polaritesini hariç tutarak veya değiştirebilen bir öğedir ve bağlı olarak değiştirilemez. kontrol sinyali.


İncir. 4.2.

Aynı polarite (pozitif veya negatif) iki sinyal olduğunda ve aynı zamanda eşzamanlı varışları hariç tutulduğunda, eleman bu sinyalleri karıştırmak için hariç tutulur (Şekil 4.3). Giriş sinyallerinin herhangi bir polaritesi ile, elemanın çıkış sinyalleri pozitif olacaktır. Pozitif giriş sinyalleriyle, eleman 2 olarak hariç tutulur veya çalışacak ve negatif olan eleman 2i - değil. Bu tür değişiklikler, bazı elementlerin hariç tutulduğu veya diyagramda kalan durumlarda faydalı olabilir. Doğru, akılda tutulmalı dağıtım gecikmesi Öğedeki sinyal, en basit elemanlardaki gecikmeden ve ve olmayan veya olmayan veya olmayan veya olmayan bir şekilde (yaklaşık 1.5 kez) hariç veya bir miktar daha büyüktür.

Bit, iki değerden birini - 0 (false) veya 1 (true) depoladığı için minimum bir bilgi ölçümü birimidir. Yanlış ve gerçek, sırasıyla Rus yalan ve gerçeğine çevrildi. Yani, bir bit hücre aynı anda sadece olası iki durumunda olabilir. Size hatırlatmama izin verin, orospu hücresinin olası iki durumu eşittir - 1 ve 0.
Bit ile manipülasyonlar için belirli işlemler vardır. Bu operasyonlar, bu bilim alanının gelişimine katkıda bulunan Matematikçiler - George Bul (1815-1864) tarafından adlandırılan mantıksal veya Boole operasyonları denir.
Tüm bu işlemler, ne olursa olsun, ne olursa olsun - 0 (sıfır) veya 1 (bir) uygulanabilir. Aşağıda ana mantıksal işlemler ve kullanımlarının örnekleri bulunmaktadır.

Mantık işlemi ve (ve)

Atama ve: &

Mantıksal çalışma ve iki bit ile yapılır, hadi onları A ve B'yi arayalım. Mantıksal işlemin sonucu ve eğer A ve B 1'e eşitse ve diğer tüm (diğer) vakalarda 1'e eşit olacaktır. Sonuç 0'a eşit olacaktır. Mantıksal operasyonun gerçek tablosuna bakıyoruz ve .

a (bit 1) b (Bit 2) a (Bit 1) & B (Bit 2)
0 0 0
0 1 0
1 0 0
1 1 1

Mantık işlemi veya (veya)

OR: |

Mantıksal çalışma veya iki bit (a ve b) ile yürütülür. Mantıksal bir işlemin yürütülmesinin sonucu veya A ve B 0 (sıfır) ve diğer tüm (diğer) durumlarda, sonuç 1 (birim) eşitse 0 olacaktır. Mantıksal operasyonun gerçek tablosuna bakıyoruz.

a (bit 1) b (Bit 2) a (Bit 1) | B (Bit 2)
0 0 0
0 1 1
1 0 1
1 1 1

Mantıksal işlem hariç veya (xor).

Tanım xor: ^
Mantıksal işlem iki bit (a ve b) ile hariç tutulur veya yürütülür. Bir XOR mantık işleminin sonucu, A veya B bitlerinden biri 1 (birim) ise 1 (birim) eşit olacaktır, tüm diğer durumlarda, sonuç 0 (sıfır). Hariç tutulan mantıksal işlemin doğruluk tablosuna bakıyoruz.

a (bit 1) b (Bit 2) a (bit 1) ^ b (bit 2)
0 0 0
0 1 1
1 0 1
1 1 0

Mantıksal işlem değil (değil)

Notasyon Değil: ~
Mantıksal işlem bir bit ile gerçekleştirilmez. Bu mantıksal işlemin yürütülmesinin sonucu doğrudan bitin durumuna bağlıdır. Bit sıfır durumdaysa, yürütme işleminin sonucu birine eşit olacaktır ve tam tersi olacaktır. Mantıksal operasyonun gerçek tablosuna bakıyoruz.

a (bit 1) ~ A (BITS REDENAL)
0 1
1 0

Bu 4 mantıksal işlemleri hatırlayın. Bu mantıksal işlemleri kullanarak, olası herhangi bir sonucu alabiliriz. C ++ 'ndaki mantıksal işlemlerin kullanımı ile ilgili detaylar.

Bu yazıda biraz işlemlerden bahsederiz. Ana sayfaları düşünün: xor (hariç veya) ve (ve), (no) yanı sıra veya (veya).

Bilindiği gibi, bilginin minimum birimi birimidir. bitHangi değerlerden birini depolar: 0 ( Yanlış, yalanlar) veya 1 ( Doğru., hakikat). Böylece, bit hücresi aynı anda sadece olası iki durumdan birinde olabilir.

Bitli manipülasyonlar için, bazı işlemler kullanılır - mantık veya boolean. Değerinin sıfır veya bir birim olduğuna bakılmaksızın her yere uygulanabilirler. Üç temel mantıksal işlem kullanmanın örneklerine bakalım.

Mantık işlemi ve (ve)

Ve. İşareti belirtir.

Ve operatörü 2 bit ile yapılır, örneğin A ve B alırız. Operasyonun çalışmasının bir sonucu ve eğer A ve B 1'e eşitse 1'e eşittir. Diğer durumlarda, sonuç 0'dır. Örneğin, yardımı ve kendinizin yanı sıra, kendi kendine numarası veya olmasın.

Doğruluk tablosuna bakın ve:

Mantık işlemi veya (veya)

İşareti belirtir | .

Şebeke Veya. Ayrıca 2 bit (A ve B) ile de gerçekleştirilir. Sonuç 0, A ve B 0'a eşitse, aksi halde 1'e eşittir. Gerçek tablosuna bakıyoruz.

Mantık işlemi XOR (hariç veya)

XOR ifadesi belirtildi ^.

Xor. 2 bit (a ve b) ile gerçekleştirilir. XOR işleminin çalışmasının sonucu ( hariç veya) 1, B veya A bitlerinden biri ise 1'e eşittir. Diğer durumlarda, bir XOR ifadesi kullanılmasının sonucu 0'dır.

Xor (hariç veya) için mantıksal işlemin gerçek tablosu şöyle görünür:

XOR (özel veya) kullanarak, geçici bir değişken kullanmadan, 2 değişken aynı veri türünün değerlerini değiştirebilirsiniz. Ayrıca, XOR tarafından, örneğin metni şifreleyebilirsiniz:

String msg \u003d "Bu bir mesajdır"; Karakter mesajı \u003d msg.tocararray (); String tuşu \u003d ". *)"; Dize şifreleme \u003d yeni string (); için (int i \u003d 0; ben< message.length; i++){ encryptedString += message[i]^key.toCharArray(); }

Kabul ediyorum, XOR en güvenilir şifreleme yönteminden uzakta, ancak bu, bir şifreleme algoritmasının parçası yapılamayacağı anlamına gelmez.

Mantıksal İşlem Değil (Değil)

Bir parti reddidir, bu nedenle bir bit ile yapılır ve belirtilmiştir.

Sonuç, bitin durumuna bağlıdır. Sıfır durumdaysa, işlemin sonucu bir birimdir ve bunun tersidir. Her şey son derece basit.

Bu 4 mantıksal işlem öncelikle hatırlanmalıdır, çünkü yardımlarıyla hemen hemen herhangi bir sonuç elde edebilirsiniz. Ayrıca gibi operasyonlar var.<< (побитовый сдвиг влево) и >\u003e ((sağa bit yöne doğru kaydırın).

Montajcıdaki XOR komutu bir istisna yapar veya iki işlenenlerin tüm bitleri arasında. XOR işleminin sonucu ilk işlenende kaydedilir. Sözdizimi:

XOR Alıcısı, Kaynak

XOR ifadesi her zaman CF'yi ve yanı sıra (sonuca bağlı olarak), SF, ZF ve PF bayraklarını değiştirir. AF bayrağının değeri herhangi biri olabilir - işlemin sonucuna bağlı değildir.

Alıcı aşağıdakilerden biri olabilir:

  • Hafıza alanı (MEM)

Kaynak aşağıdakilerden biri olabilir:

  • Hafıza alanı (MEM)
  • Genel Amaçlı Kayıt (REG)
  • Doğrudan Değer - Sabit (IMM)

Yukarıda açıklanan kısıtlamaları dikkate alarak, kaynak alıcının kombinasyonu aşağıdaki gibi olabilir:

Reg, mem mem, reg reg, reg mem, imm reg, imm

Hariç tutma veya

Özel veya değer değeri yürütürken, bitler karşılaştırılırsa (eşit değil) 1'e eşit olacaktır. Bit karşılaştırıldığında aynı değer ise, sonuç 0'a eşit olacaktır.

Bu nedenle, bu işlem özel olarak adlandırılır. Karşılaştırmanın aynı ucunu ve eşit olmayan operasyonların operasyonuyla ortadan kaldırır.

Ancak, herhangi bir eşitsiz bit çifti 0 ve 1'dir, daha sonra mantıksalın çalışması veya sonuç olarak 1.

Hariç tutmanın gerçeğinin tatac veya

Gerçek tablosu aşağıda:

0 xor 0 \u003d 0 xor 1 = 1 1 XOR 0 \u003d. 1 1 Xor. 1 = 0

XOR Operasyonun Özellikleri

XOR işleminin bir geri dönüşüm özelliğine sahiptir. Aynı işlenenle iki kez iki kez gerçekleştirirseniz, değer değeri ters çevrilir. Yani, bu işlemi bitler arasındaki yerine getirirseniz X. ve Y., nihayetinde ilk parti değerini alıyoruz 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

Bu özellik, örneğin, en basit veri şifrelemesi için kullanılabilir (bu bir şekilde başka bir).

XOR işleminden sonra bayrağın kontrol edilmesi

XOR komutu 8-, 16- ve 32 bit işlemlerle çalışır.

Bazen, işlemi gerçekleştirdikten sonra PF bayrağını kontrol etmeniz gerekir, kaç tane bit biti (eşit tuhaf) bulunur. junior Bay Sonuç (Bu sadece XOR işlemi gerçekleştiriliyorsa, aynı zamanda diğer aritmetik ve mantıksal işlemler yaparken de gereklidir).

Bayrak takıldıysa, sonuç açık bir parça tek bittir. Aksi takdirde, bayrak sıfırlanır.

Ayrıca, sonucun değerini değiştirmeden, istediğiniz numarayı da doğrulayabilirsiniz. Bunu yapmak için, XOR komutunu sıfır değerle çalıştırmanız gerekir. Yani, alıcı doğrulanabilir bir sayı olmalı ve kaynak sıfır olmalıdır. Ve sonra inancın bayrağını kontrol etmeniz gerekir. Misal:

AL, 10110101B; AL adlı bir sayıya garip; tek bit sayısı (5) Xor al, 0; aynı anda, PF'nin bayrağı değil; (PO) MOV AL, 10110111B; AL okuyucusu olan numara; tek bit sayısı (6) xor al, 0; bu durumda, PF'nin bayrağı; ayarlanacak (PE)

Hata ayıklayıcılarında, genellikle sonuçta sonuçlanan birimin birimini belirlemek için kullanılır ve parite azaltma bile kullanılıyor ve tuhaf - PO (parite tuhaf).

16 bit kelimelerde hazır

Daha önce de belirtildiği gibi, inanç bayrağı, genç sonuçlarda yer alan birim sayısına bağlı olarak ayarlanır. 16 bit operand okuyucuyu kontrol etmek için, bu numaranın kıdemli ve en genç bayt arasında XOR komutunu yürütmeniz gerekir:

MOV AX, 64C1H; 0110 0100 1100 0001 - 6 tek uçlu xor ah, al; hazırlık bayrağı kurulacak

Böyle basit bir şekilde, 16 bit işlenen iki bayt'a (2 grubun 2 grubu) ayrılır ve XOR komutunu yürütürken, iki 8 bitlik işlenenlerin karşılık gelen boşalmalarında tek bitler alınmaz hesap. Çünkü sonucun karşılık gelen biti sıfırdır.

XOR komutu, iki adet 8 bitlik işlenenden herhangi bir kesişen birim biti biti çıkarır ve sonuçta ters tek bitler ekler. Yani, bizim tarafımızdan alınan 8 bit numaranın hazırlığı, orijinal 16 bit numarasının hazırlığı ile aynı olacaktır.

0110 0100 1100 0001 - Kaynak 16 bit numarası 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

Sonuç olarak, 4 birim, yani, PF bayrağı kurulacak

32 bit çift kelimelerde hazır

İyi, 32 bit numaradaki hazırlığı belirlemeniz gerekiyorsa?

Daha sonra sayı dört bayt'a ayrılır ve bu baytlarla dönüşümlü olarak, bir işlem gerçekleştirilir veya.

Örneğin, 32 bit numarayı kırdık B. Dört bayt B0., B1., B2., B3.nerede B0. - Bu genç bayt.

Sonra sayının hazırlığını belirlemek için aşağıdaki formülü kullanmamız gerekecektir:

B0 XOR B1 XOR B2 XOR B3

Ancak montajda, böyle bir kayıt kabul edilemez. Bu nedenle, biraz düşünmelisin.

Ve nihayet, Mnemonics'in kökeni Xor.. İngilizce bir kelime var X.aziz - istisna. Bu kelimeden azaltma mektubu H. (Bu yüzden gerekli oldu). Muhtemelen reklamcılıkta veya üreticileri münhasırlığa iddia eden (iyi ya da düşünün) iddia ettiği ürünlerin isimlerinde tanıştınız. Örneğin, Lada Xray, Sony Xperia, vb. Bu yüzden xor iki kelimeden toplanan bir kısaltmadır - e X.alım Veya. - hariç veya.