Үндсэн үйлдлүүдээр дамжуулан Xor. Үндсэн логик үйлдлүүд (ба, эсвэл, xor, үгүй)

Гэр / Хөдөлгөөнт төхөөрөмж

Энэ нийтлэлд би битийн үйлдлүүд хэрхэн ажилладаг талаар танд хэлэх болно. Эхлээд харахад тэдгээр нь танд төвөгтэй, хэрэггүй мэт санагдаж болох ч бодит байдал дээр энэ нь огт тийм биш юм. Энэ бол би танд итгүүлэхийг хичээх болно.

Танилцуулга

Битийн операторууд нь тооны битүүд дээр шууд ажилладаг тул жишээн дэх тоонууд хоёртын тоонд байх болно.

Би дараах битийн операторуудыг хамрах болно:

  • | (Бага хэмжээгээр OR),
  • & (Хязгаарлалтаар БА (БА)),
  • ^ (Онцгой OR (XOR)),
  • ~ (Битвээр үгүйсгэх (БИШ)),
  • << (Побитовый сдвиг влево),
  • >> (Баруун тийш бага зэрэг шилжүүлэх).

Битийн үйлдлүүдийг дискрет математикт судалдаг бөгөөд тоон хэлхээний үндсэн элементүүд болох логик хаалганы үйлдлийн логик нь тэдгээрт суурилдаг тул тоон технологийн үндэс суурь болдог. Дискрет математикт дижитал инженерчлэлийн нэгэн адил үнэний хүснэгтийг тэдгээрийн үйл ажиллагааг тодорхойлоход ашигладаг. Үнэний хүснэгтүүд нь битийн үйлдлүүдийн талаархи ойлголтыг ихээхэн хөнгөвчлөх гэж надад санагдаж байна, тиймээс би тэдгээрийг энэ нийтлэлд танилцуулах болно. Гэсэн хэдий ч тэдгээрийг өндөр түвшний програмчлалын хэл дээрх битийн операторуудын тайлбарт бараг ашигладаггүй.

Та мөн битийн операторуудын талаар мэдэх хэрэгтэй:

  1. Зарим битийн операторууд нь таны мэддэг операторуудтай төстэй байдаг (&&, ||). Учир нь тэд зарим талаараа ижил төстэй байдаг. Гэсэн хэдий ч тэдгээрийг ямар ч нөхцөлд андуурч болохгүй.
  2. Ихэнх битийн үйлдлүүд нь нийлмэл хуваарилалтын үйлдлүүд юм.

Битээр OR

Битийн OR нь логик OR-той дүйцэхүйц ажилладаг боловч хоёртын тооны хос бит бүрт хэрэглэнэ. Үр дүнгийн хоёртын бит нь зөвхөн харгалзах хоёр бит нь 0 байх үед л 0 байна. Бусад бүх тохиолдолд хоёртын үр дүн нь 1 байна. Өөрөөр хэлбэл, хэрэв бид дараах үнэний хүснэгттэй байвал:

38 | 53 нь дараах байдалтай байна.

А 0 0 1 0 0 1 1 0
Б 0 0 1 1 0 1 0 1
А | Б 0 0 1 1 0 1 1 1

Үүний үр дүнд бид 110111 2 буюу 55 10-ыг авна.

Битээр БА

Битийн AND гэдэг нь битийн OR-ын эсрэг үйлдэл юм. Үр дүнгийн хоёртын цифр нь операндуудын харгалзах битүүд хоёулаа 1-тэй тэнцүү байх үед л 1 болно. Өөрөөр хэлбэл, үр дүнгийн тооны хоёртын цифрүүд нь операндын харгалзах битүүдийг үржүүлсний үр дүн гэж хэлж болно: 1x1 = 1, 1x0 = 0. Дараах үнэний хүснэгт нь битийн AND-тай тохирч байна:

38 ба 53 илэрхийлэл дээр ажиллах битийн AND-ийн жишээ:

А 0 0 1 0 0 1 1 0
Б 0 0 1 1 0 1 0 1
A&B 0 0 1 0 0 1 0 0

Үүний үр дүнд бид 100100 2 буюу 36 10-ыг авна.

Та тоо тэгш эсвэл сондгой эсэхийг шалгахын тулд битийн AND операторыг ашиглаж болно. Бүхэл тоонуудын хувьд хамгийн бага ач холбогдол бүхий бит нь 1 бол тоо нь сондгой (хоёртын аравтын тоонд хөрвүүлэхэд үндэслэсэн). Хэрэв та зүгээр л % 2-г ашиглах боломжтой бол энэ яагаад хэрэгтэй вэ? Жишээлбэл, миний компьютер дээр &1 66% илүү хурдан ажилладаг. Гайхалтай гүйцэтгэлийн өсөлт, би танд хэлье.

Онцгой OR (XOR)

XOR болон битийн OR хоёрын ялгаа нь 1-ийг гаргахын тулд хос доторх зөвхөн нэг бит 1 байж болно:

Жишээлбэл, 138^43 илэрхийлэл нь...-тэй тэнцүү байх болно.

А 1 0 0 0 1 0 1 0
Б 0 0 1 0 1 0 1 1
А^Б 1 0 1 0 0 0 0 1

… 10100001 2, эсвэл 160 10

^-г ашигласнаар та түр зуурын хувьсагч ашиглахгүйгээр хоёр хувьсагчийн утгыг (ижил өгөгдлийн төрөлтэй) өөрчлөх боломжтой.

Та мөн онцгой OR ашиглан текстийг шифрлэх боломжтой. Үүнийг хийхийн тулд та зүгээр л бүх тэмдэгтүүдийг давтаж, ^ тэдгээрийг түлхүүр тэмдэгтээр бичих хэрэгтэй. Илүү төвөгтэй шифрийн хувьд та тэмдэгтийн мөрийг ашиглаж болно:

String msg = "Энэ бол мессеж"; char мессеж = msg.toCharArray(); Мөр түлхүүр = ".*)"; String encryptedString = new String(); for(int i = 0; i< message.length; i++){ encryptedString += message[i]^key.toCharArray(); }

XOR нь хамгийн найдвартай шифрлэлтийн арга биш боловч үүнийг шифрлэлтийн алгоритмын нэг хэсэг болгож болно.

Битийн үгүйсгэх (БИШ)

Битийн бууралт нь операндын бүх битийг урвуулна. Өөрөөр хэлбэл, 1 байсан нь 0 болно, мөн эсрэгээр.

Жишээлбэл, энд ~52 үйл ажиллагаа байна:

А 0 0 1 1 0 1 0 0
1 1 0 0 1 0 1 1

Үр дүн нь 203 10 болно

Битийн үгүйсгэлийг ашиглах үед үр дүнгийн тэмдэг нь анхны дугаарын эсрэг тэмдэг байх болно (тэмдэглэсэн тоонуудтай ажиллах үед). Яг одоо яагаад ийм зүйл болж байгааг олж мэдээрэй.

Нэмэлт код

Энд би сөрөг бүхэл тоог компьютерт дүрслэх арга, тухайлбал энэ хоёрын нэмэлт кодын талаар бага зэрэг хэлэх хэрэгтэй. Нарийвчилсан мэдээлэлгүйгээр хоёртын тооны арифметикийг хөнгөвчлөх шаардлагатай.

Хоёрын нэмэлтээр бичигдсэн тоонуудын талаар мэдэх ёстой гол зүйл бол хамгийн чухал бит нь гарын үсэг зурсан байх явдал юм. Хэрэв энэ нь 0 бол энэ тоо эерэг бөгөөд энэ тоог шууд кодоор илэрхийлсэнтэй давхцаж байгаа бол 1 бол сөрөг байна. Өөрөөр хэлбэл, 10111101 нь сөрөг тоо, 01000011 нь эерэг тоо юм.

Сөрөг тоог хоёрын нөхөх тоонд хөрвүүлэхийн тулд та тухайн тооны бүх битийг эргүүлж (үндсэндээ битийн үгүйсгэлийг ашиглан) үр дүнд нь 1 нэмэх хэрэгтэй.

Жишээлбэл, хэрэв бидэнд 109 байвал:

А 0 1 1 0 1 1 0 1
1 0 0 1 0 0 1 0
~A+1 1 0 0 1 0 0 1 1

Дээрх аргын тусламжтайгаар бид хоёр нөхөх кодонд -109-ийг авна.
Нэмэлт кодын маш хялбаршуулсан тайлбарыг саяхан танилцуулсан бөгөөд энэ сэдвийг илүү нарийвчлан судлахыг би танд зөвлөж байна.

Битийн дагуу зүүн тийш шилжүүлнэ

Битийн шилжилтүүд нь өмнө нь авч үзсэн битийн үйлдлүүдээс арай өөр юм. Битийн дагуу зүүн тийш шилжүүлэх нь өөрийн операндын N тооны битийг хамгийн бага ач холбогдолтой битээс эхлэн зүүн тийш шилжүүлнэ. Ээлжийн дараа хоосон зайг тэгээр дүүргэнэ. Энэ нь дараах байдлаар тохиолддог.

А 1 0 1 1 0 1 0 0
А<<2 1 1 0 1 0 0 0 0

N байрлалаар зүүн тийш шилжих сонирхолтой онцлог нь тоог 2 N-ээр үржүүлэхтэй тэнцэх явдал юм. Тиймээс 43<<4 == 43*Math.pow(2,4) . Использование сдвига влево вместо Math.pow обеспечит неплохой прирост производительности.

Битийн дагуу баруун тийш шилжүүлэх

Таны таамаглаж байгаагаар >> нь операндын битүүдийг тодорхой тооны битээр баруун тийш шилжүүлнэ.

Хэрэв операнд эерэг байвал хоосон зайг тэгээр дүүргэнэ. Хэрэв бид эхлээд сөрөг тоогоор ажилладаг бол зүүн талын бүх хоосон зайг нэгээр дүүргэнэ. Өмнө нь тайлбарласан нэмэлт кодын дагуу тэмдгийг хадгалахын тулд үүнийг хийдэг.

Битээр баруун тийш шилжүүлэх нь битийн дагуу зүүн тийш шилжүүлэх үйл ажиллагааны эсрэг үйлдэл тул тоог N тооны байрлалаар баруун тийш шилжүүлэх нь мөн энэ тоог 2 N-д хуваана гэдгийг таахад хялбар байдаг. Дахин хэлэхэд энэ нь ердийн хуваалтаас хамаагүй хурдан юм.

Дүгнэлт

Тиймээс одоо та битийн үйлдлийн талаар илүү ихийг мэддэг бөгөөд тэднээс айдаггүй. Та 2-т хуваах бүртээ >>1-г ашиглахгүй гэж би бодож байна. Гэсэн хэдий ч битийн үйлдлүүд таны зэвсэглэлд байх нь сайн бөгөөд одоо шаардлагатай бол тэдгээрийг ашиглах эсвэл ярилцлагын төвөгтэй асуултанд хариулж болно.

Асуудлыг шийдвэрлэхдээ нэг давхаргат перцептронуудын хязгаарлагдмал чадварыг харуулахын тулд асуудал гэж нэрлэгддэг асуудлыг авч үзэх нь ихэвчлэн тохиолддог. XOR - онцгой OR.

Даалгаврын мөн чанар нь дараах байдалтай байна. XOR логик функцийг өгсөн - онцгой OR. Энэ нь хоёр аргументын функц бөгөөд тус бүр нь тэг эсвэл нэг байж болно. Энэ нь аргументуудын аль нэг нь нэгтэй тэнцүү байхад хоёуланг нь биш харин утгыг авна. Асуудлыг доорх зурагт үзүүлсэн нэг давхарга, нэг нейрон, хоёр оролттой системийг ашиглан дүрсэлж болно.

Нэг оролтыг -ээр, нөгөөг нь -ээр тэмдэглэе, тэгвэл тэдгээрийн бүх боломжит хослолууд нь хавтгай дээрх дөрвөн цэгээс бүрдэнэ. Доорх хүснэгтэд оролт ба гаралтын хоорондох шаардлагатай хамаарлыг харуулсан бөгөөд тэг гаралт гаргах ёстой оролтын хослолууд нь шошготой, нэг гаралт нь ба гэсэн шошготой байна.

Оноо Утга Утга Шаардлагатай гаралт
0 0 0
1 0 1
0 1 1
1 1 0

Хоёр оролттой нэг нейрон нь дурын шулуун шугам хэлбэрээр шийдвэрийн гадаргууг үүсгэж болно. Дээрх хүснэгтэд заасан XOR функцийг сүлжээг хэрэгжүүлэхийн тулд шугамыг шугамын нэг талд, цэгүүд нь нөгөө талд байхаар байрлуулах хэрэгтэй. Доорх зурган дээр ийм шулуун шугам зурахыг оролдсоны дараа бид энэ боломжгүй гэдэгт итгэлтэй байна. Энэ нь жин ба босгонд ямар утгыг оноож байгаагаас үл хамааран нэг давхаргат мэдрэлийн сүлжээ нь XOR функцийг илэрхийлэхэд шаардагдах оролт ба гаралтын хоорондын хамаарлыг хуулбарлах боломжгүй гэсэн үг юм.

Гэсэн хэдий ч XOR функц нь хоёр давхаргат сүлжээгээр амархан үүсдэг ба олон талаараа. Эдгээр аргуудын аль нэгийг авч үзье. Өөр нэг далд нейрон давхаргыг нэмж зураг дээрх сүлжээг шинэчилье.

Үүнийг анхаарна уу энэ сүлжээбайгаагаар нь өгсөн, өөрөөр хэлбэл. Түүнийг аль хэдийн бэлтгэгдсэн гэж бид үзэж болно. Сумны дээрх тоонууд нь синаптик жингийн утгыг харуулж байна. Идэвхжүүлэх функцийн хувьд бид дараах графиктай босго бүхий нэг үсрэлт функцийг ашиглана.

Дараа нь ийм мэдрэлийн сүлжээний үйл ажиллагааны үр дүнг дараах хүснэгт хэлбэрээр танилцуулж болно.

Оноо Утга Утга Шаардлагатай гаралт
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 асуудлыг шийдвэрлэхэд ашигласан мэдрэлийн сүлжээ нь энгийн бөгөөд олон давхаргат сүлжээний боломжуудыг бүрэн ашигладаггүй. Мэдээжийн хэрэг, олон давхаргат мэдрэлийн сүлжээнүүдЗөвхөн шугаман бус байдал байгаа тохиолдолд нэг давхаргаас илүү их төлөөлөх чадвартай. Мөн энэ сүлжээнд шугаман идэвхжүүлэлтийн босго функцийг ашигладаг. Ийм сүлжээг жишээлбэл, буцаан тархалтын алгоритм ашиглан сургах боломжгүй.

Үнэн хэрэгтээ бүх дижитал микро схемүүд нь ижил логик элементүүдээс бүрддэг - аливаа дижитал зангилааны "барилгын блок". Үүнийг бид одоо ярих болно.

Логик элемент- Энэ бол хэд хэдэн оролт, нэг гаралттай хэлхээ юм. Оролтын дохионы төлөв бүр нь гаралтын тодорхой дохиотой тохирч байна.

Тэгэхээр ямар элементүүд байдаг вэ?

"AND" элемент

Үгүй бол үүнийг "холбогч" гэж нэрлэдэг.

Энэ нь хэрхэн ажилладагийг ойлгохын тулд оролтын дохионы аль ч хослолын гаралтын төлөвийг жагсаасан хүснэгтийг зурах хэрэгтэй. Энэ хүснэгтийг " үнэний хүснэгт" Үнэний хүснэгтийг дижитал технологид логик хэлхээний ажиллагааг тодорхойлоход өргөн ашигладаг.

“AND” элемент ба түүний үнэний хүснэгт дараах байдалтай байна.

Учир нь та Оросын болон хөрөнгөтний техниктэй харилцах хэрэгтэй болно. баримт бичиг, би манай болон манай бус стандартын дагуу элементүүдийн симбол график тэмдэг (GID) өгөх болно.

Бид үнэний хүснэгтийг харж, тархиндаа зарчмыг тодруулдаг. Үүнийг ойлгоход хэцүү биш: "AND" элементийн гаралт дээрх нэгж нь зөвхөн нэгжийг хоёр оролтод нийлүүлэх үед л үүсдэг. Энэ нь элементийн нэрийг тайлбарлаж байна: нэгжүүд нэг болон нөгөө оролт дээр байх ёстой.

Хэрэв бид үүнийг арай өөрөөр харвал бид үүнийг хэлж чадна: хэрэв "AND" элементийн гаралт нь дор хаяж нэг оролтод тэгийг хэрэглэвэл тэг болно. Санаж үзье. Үргэлжлүүлье.

OR элемент

Өөр нэг байдлаар түүнийг "дизьюнктор" гэж нэрлэдэг.

Бид биширдэг:

Дахин хэлэхэд нэр нь өөрөө ярьдаг.

Нэгжийг нэг ЭСВЭЛ нөгөө рүү нь ЭСВЭЛ хоёр оролтод нэгэн зэрэг хэрэглэх үед гаралт дээр нэгж гарч ирнэ. Энэ элементийг сөрөг логикийн хувьд "AND" элемент гэж нэрлэж болно: түүний гаралт дахь тэг нь зөвхөн нэг болон хоёр дахь оролтод тэгийг нийлүүлсэн тохиолдолд л гардаг.

ТАЙЛБАР элемент

Ихэнхдээ үүнийг "инвертер" гэж нэрлэдэг.

Би түүний ажлын талаар юу ч хэлэх шаардлагатай байна уу?

NAND элемент

NAND хаалга нь AND хаалгатай яг адилхан ажилладаг бөгөөд зөвхөн гаралтын дохио нь эсрэгээрээ байдаг. "AND" элемент нь "0" гаралттай байх ёстой бол "AND-NOT" элемент нь нэг байх ёстой. Мөн эсрэгээр. Үүнийг элементийн эквивалент хэлхээнээс ойлгоход хялбар байдаг:

"NOR" элемент (NOR)

Үүнтэй ижил түүх - гаралт дээр инвертер бүхий "OR" элемент.

Дараагийн нөхөр арай зальтай байна:
Онцгой OR элемент (XOR)

Тэр ийм байна:

Түүний гүйцэтгэдэг үйлдлийг ихэвчлэн "нэмэлт модуль 2" гэж нэрлэдэг. Үнэн хэрэгтээ дижитал нэмэгч нь эдгээр элементүүд дээр бүтээгдсэн байдаг.

Үнэний хүснэгтийг харцгаая. Гаралтын нэгж хэзээ вэ? Зөв: оролтууд өөр өөр дохиотой байх үед. Нэг дээр - 1, нөгөө талд - 0. Тэр ийм л зальтай.

Эквивалент хэлхээ нь дараах байдалтай байна.

Үүнийг цээжлэх шаардлагагүй.

Үнэндээ эдгээр нь үндсэн логик элементүүд юм. Тэдгээрийн үндсэн дээр ямар ч дижитал микро схемийг бүтээдэг. Таны дуртай Pentium 4 ч гэсэн.

Эцэст нь тоон элементүүдийг агуулсан хэд хэдэн микро схемүүд. Микро схемийн харгалзах хөлний тоог элементүүдийн терминалуудын ойролцоо зааж өгсөн болно. Энд жагсаасан бүх чипс 14 хөлтэй. Эрчим хүчийг 7 (-) ба 14 (+) хөлүүдэд нийлүүлдэг. Нийлүүлэлтийн хүчдэл - өмнөх догол мөр дэх хүснэгтийг үзнэ үү.

“эсвэл... эсвэл...” гэсэн үгээр илэрхийлсэн “А эсвэл В” гэсэн нийлмэл өгүүлбэр нь А эсвэл В хоёрын аль нэг нь үнэн, харин хоёулаа биш; В өөрөөрнийлмэл мэдэгдэл худал байна.

Тэдгээр. үр дүн нь үнэн (1-тэй тэнцүү), Хэрэв A нь B (A≠B)-тэй тэнцүү биш юм.

Энэ үйлдлийг ихэвчлэн салгах үйлдэлтэй харьцуулдаг, учир нь тэдгээр нь шинж чанараараа маш төстэй бөгөөд хоёулаа өдөр тутмын ярианд "эсвэл" гэсэн холбоостой төстэй байдаг. Эдгээр үйлдлийн дүрмийг харьцуулна уу:

1. үнэн бол үнэн эсвэл , эсвэлхоёулаа нэгэн зэрэг.

2. үнэн бол үнэн эсвэл, Гэхдээ Үгүйхоёулаа нэгэн зэрэг.

Үйл ажиллагаа оруулахгүйсүүлчийн сонголт ("хоёулаа") бөгөөд энэ шалтгааны улмаас онцгой "OR" гэж нэрлэдэг. Хоёрдмол байдалБайгалийн хэл нь "эсвэл" гэсэн холбоосыг хоёуланд нь ашиглаж болно.

5. Далд утга (логик үр дагавар)"хэрэв ... тэгвэл ...." гэсэн ярианы дүрсийг ашиглан хоёр мэдэгдлийг нэг болгон нэгтгэснээр үүсдэг.

Бичлэг: A®B

Үнэн таамаглалаас (эхний мэдэгдэл) худал дүгнэлт (хоёр дахь мэдэгдэл) гарсан тохиолдолд л далд санааны үйлдлээр үүссэн нийлмэл мэдэгдэл худал болно.

Тэдгээр. хэрэв 1 нь 0 гэсэн утгатай бол үр дүн нь 0, бусад тохиолдолд 1 байна.

Жишээлбэл, "Хэрэв тоо 10-д хуваагддаг бол 5-д хуваагдана" гэсэн үг үнэн юм. Эхний болон хоёр дахь мэдэгдэл хоёулаа үнэн.

"Хэрэв тоо 10-д хуваагддаг бол 3-т хуваагдана" гэсэн үг худал, учир нь үнэн үндэслэлээс худал дүгнэлт гаргадаг.

"Энэ дөрвөлжин бол дөрвөлжин" (А) Мөн "Өгөгдсөн дөрвөн өнцөгтийг тойруулж болно" (IN). Дараа нь нийлмэл мэдэгдлийг дараах байдлаар уншина "Хэрэв өгөгдсөн дөрвөн өнцөгт нь дөрвөлжин бол түүнийг тойруулан тойрог зурж болно."

Энгийн ярианд холбогч "Хэрэв ... тэгвэл"мэдэгдэл хоорондын шалтгаан-үр дагаврын холбоог дүрсэлдэг. Гэхдээ логик үйлдлүүдэд мэдэгдлийн утгыг харгалзан үздэггүй. Зөвхөн тэдний үнэн эсвэл худал байдлыг харгалзан үздэг. Тиймээс агуулгын хувьд огт хамааралгүй мэдэгдлээс үүссэн үр дагаврын "утгагүй" байдалд ичиж болохгүй. Жишээлбэл, иймэрхүү: "Хэрэв АНУ-ын Ерөнхийлөгч Ардчилсан намын хүн бол Африкт анааш байдаг", "Хэрэв тарвас бол жимс юм бол шатахуун түгээх станцад бензин байна" гэх мэт.

6. Тэнцвэрт байдал (логик тэгш байдал, ~ º Û) нь “...хэрэв зөвхөн бол...” гэсэн үг хэллэгийг ашиглан хоёр мэдэгдлийг нэг болгон нэгтгэснээр үүсдэг.

Эквивалент үйлдлээр үүссэн нийлмэл өгүүлбэр нь хоёр мэдэгдэл зэрэг худал эсвэл үнэн байвал үнэн болно.

Жишээлбэл, "Компьютер зөвхөн асаалттай үед л тооцоолж чадна" ба "Асаагүй үед л компьютер тооцоолж чадахгүй" гэсэн хэллэгүүд нь үнэн бөгөөд учир нь энгийн өгүүлбэрүүд хоёулаа нэгэн зэрэг үнэн байдаг.


Үнэний хүснэгтүүд

Нийлмэл мэдэгдэл (логик функц) бүрийн хувьд энгийн мэдэгдлийн анхны утгуудын бүх боломжит хослолын хувьд түүний үнэн эсвэл худал байдлыг тодорхойлдог үнэний хүснэгтийг байгуулах боломжтой.

Үнэний хүснэгтЭнэ бол хүснэгтийн харагдац юм логик хэлхээОролтын дохионы (операнд) үнэний утгын боломжит бүх хослолыг эдгээр хослол бүрийн гаралтын дохионы үнэн утгыг (үйл ажиллагааны үр дүн) жагсаасан (үйл ажиллагаа).

Дээр дурдсан зүйлийг тусгацгаая логик үйлдлүүдүнэний хүснэгтэд:

Санал алгебрийн хувьд бүх логик функцийг логик хувиргалтаар гурван үндсэн функц болгон бууруулж болно: логик нэмэх, логик үржүүлэх, логик үгүйсгэх.

A®B далд үйлдэл нь логик илэрхийлэлтэй тэнцүү болохыг баталцгаая.

Онцгой OR (эквивалент бус, нэмэлт модуль хоёр) үйлдлийг тэмдгээр тэмдэглэсэн бөгөөд зөвхөн A=1 ба B=1 үед логик OR-оос ялгаатай.

Иймд Х1 ба Х2 хоёр мэдэгдлийн зөрүүг эдгээр мэдэгдлийн аль нэг нь үнэн, нөгөө нь худал байвал үнэн болох Ү мэдэгдлийг гэнэ.

Энэ үйлдлийн тодорхойлолтыг үнэний хүснэгт хэлбэрээр бичиж болно (Хүснэгт 6):

Хүснэгт 6 – “ОНЦГОЙ OR” үйлдлийн үнэний хүснэгт

Хүснэгт 6-аас харахад элементийн үйлдлийн логик нь түүний нэртэй тохирч байна.

Энэ бол нэг жижиг ялгаа бүхий ижил "OR" элемент юм. Хэрэв хоёр оролтын утга нь логик утгатай тэнцүү бол "OR" элементээс ялгаатай нь "ОНЦГОЙ OR" элементийн гаралт нь нэг биш харин тэг байна.

EXCLUSIVE OR үйлдэл нь тохирох хоёртын хоёр цифрийг харьцуулдаг.

Логик холбогч бүрийг логик хэллэгүүд дээрх үйлдэл гэж үздэг бөгөөд өөрийн нэр, тэмдэглэгээтэй байдаг (Хүснэгт 7).

Хүснэгт 7 - Үндсэн логик үйлдлүүд

Зориулалт

үйл ажиллагаа

Уншиж байна

Үйлдлийн нэр

Альтернатив тэмдэглэгээ

Үгүйсгэх (хувиралт)

Дээд талын шугам

Холболт (логик үржүүлэх)

Салгах (логик нэмэлт)

Хэрэв... тэгвэл

Үр дагавар

Дараа нь, зөвхөн дараа нь

Тэнцүү байдал

Эсвэл ... эсвэл

ОНЦГОЙ ЭСВЭЛ (нэмэлт модуль 2)

  1. Нарийн төвөгтэй логик илэрхийлэл дэх логик үйлдлүүдийн дараалал

Инверси, коньюнкц, дизъюнкцийн логик үйлдлүүдийн систем нь дур зоргоороо нийлмэл үйлдлийг бүтээх боломжийг олгодог. логик илэрхийлэл.

Логик илэрхийллийн утгыг тооцоолохдоо логик үйлдлийн тодорхой дарааллыг гүйцэтгэдэг.

1. Урвуу байдал.

2. Холболт.

3. Дизюнкци.

4. Далд утга.

5. Эквивалент.

Үйлдлийн заасан дарааллыг өөрчлөхийн тулд хаалт ашиглана.

  1. Логик илэрхийлэл ба үнэний хүснэгт

    1. Булийн илэрхийллүүд

Нийлмэл мэдэгдэл бүрийг томъёо (логик илэрхийлэл) хэлбэрээр илэрхийлж болно логик хувьсагч,мэдэгдлийг илэрхийлэх, ба логик үйлдлийн шинж тэмдэг,логик функцуудыг илэрхийлдэг.

Нийлмэл өгүүлбэрийг албан ёсны хэлээр (логикийн алгебрийн хэл) логик илэрхийлэл хэлбэрээр бичихийн тулд нийлмэл өгүүлбэрт энгийн хэллэгүүд болон тэдгээрийн хоорондын логик холболтыг тодорхойлох шаардлагатай.

“(2·2=5 эсвэл 2∙2=4) ба (2∙2≠5 эсвэл 2∙) нийлмэл өгүүлбэрийг логик илэрхийлэл хэлбэрээр бичье. 2 4)".

Нийлмэл өгүүлбэрт дүн шинжилгээ хийцгээе. Энэ нь хоёр энгийн мэдэгдлийг агуулдаг:

A = “2 2=5” - худал (0),

B = “2 2=4” - үнэн (1).

Дараа нь нийлмэл мэдэгдлийг дараах хэлбэрээр бичиж болно.

«( АэсвэлIN) ба (Ā эсвэлIN)».

Одоо та логик үйлдлийн дарааллыг харгалзан логик илэрхийлэл хэлбэрээр мэдэгдлийг бичих хэрэгтэй. Логик үйлдлүүдийг гүйцэтгэхдээ тэдгээрийн гүйцэтгэх дарааллыг дараахь байдлаар тодорхойлно.

урвуу, холбогч, салгах.

Заасан дарааллыг өөрчлөхийн тулд хаалт ашиглаж болно:

Ф = (АvIN) & (Ā vIN).

Нийлмэл мэдэгдлүүдийн үнэн эсвэл худал байдлыг саналын алгебрийн хуулиудыг удирдан чиглүүлж, мэдэгдлийн семантик агуулгад хамааралгүйгээр цэвэр албан ёсоор тодорхойлж болно.

Логик хувьсагчийн утгыг логик илэрхийлэл болгон орлуулж, үндсэн логик үйлдлүүдийн үнэний хүснэгтийг ашиглан логик функцийн утгыг олж авна.

Ф= (A v B) & ( Ā v B) = (0 v 1) & (1 v 0) = 1 & 1 = 1.

      Үнэний хүснэгтүүд

Логик үйлдлүүд нь анхны энгийн мэдэгдлийн янз бүрийн утгын нарийн төвөгтэй мэдэгдлийн тооцооны үр дүнг тусгасан хүснэгтүүдийг үнэний хүснэгт гэж нэрлэдэг.

Энгийн хэллэгийг хувьсагчаар (жишээлбэл, А ба В) тэмдэглэнэ.

Үнэний хүснэгтийг байгуулахдаа тодорхой дарааллаар удирдан чиглүүлэхийг зөвлөж байна.

    үнэний хүснэгтийн мөрийн тоог тодорхойлох шаардлагатай. Энэ нь тоо хэмжээтэй тэнцүү байна боломжит хослолуудлогик илэрхийлэлд орсон логик хувьсагчдын утгууд. Хэрэв логик хувьсагчийн тоо тэнцүү бол p,Тэр нь:

мөрийн тоо = 2 n .

Манай тохиолдолд логик функц

2 хувьсагчтай тул үнэний хүснэгтийн мөрийн тоо 4 байх ёстой;

    үнэний хүснэгтийн баганын тоог тодорхойлох шаардлагатай бөгөөд энэ нь логик хувьсагчийн тоог нэмсэн логик үйлдлийн тоотой тэнцүү байна.

Манай тохиолдолд хувьсагчийн тоо хоёр байна: A ба B, логик үйлдлийн тоо тав (Хүснэгт 8), өөрөөр хэлбэл үнэний хүснэгтийн баганын тоо долоо байна;

    заасан тооны мөр, багана бүхий үнэний хүснэгтийг барьж, баганыг тодорхойлж, анхны логик хувьсагчдын утгуудын боломжит багцыг хүснэгтэд оруулах шаардлагатай;

    шаардлагатай дарааллаар, тэдгээрийн үнэний хүснэгтийн дагуу үндсэн логик үйлдлүүдийг хийж, үнэний хүснэгтийг баганаар дүүргэх шаардлагатай.

Бид одоо Boolean хувьсагчийн утгуудын аль ч багцын хувьд Boolean функцын утгыг тодорхойлж болно.

Хүснэгт 8 – Логик функцийн үнэний хүснэгт

© 2024 ermake.ru -- Компьютер засварын тухай - Мэдээллийн портал