এক্সএনওআর ডিজিটাল টাইমিং ডায়াগ্রাম আঁকুন


12

XNOR লজিক গেটের জন্য নীচে একটি ( স্কিমেটিক ) ডিজিটাল টাইমিং ডায়াগ্রাম রয়েছে

    ┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐       
A ──┘ └─┘ └─┘     └─┘ └─┘ └─┘   └──
  ┌───┐ ┌───┐ ┌─┐ ┌─────┐   ┌─┐ ┌─┐ 
B ┘   └─┘   └─┘ └─┘     └───┘ └─┘ └
    ┌─────┐   ┌─┐   ┌─┐   ┌───┐   
X ──┘     └───┘ └───┘ └───┘   └────

আপনার লক্ষ্য হ'ল চিত্রের মতো একে পুনরুত্পাদন করা।

নিয়মাবলী:

  • আপনি এটি মুদ্রণ করতে পারেন বা একটি বহুরেখা স্ট্রিং ফিরে আসতে পারেন;

  • স্বেচ্ছাসেবী সংখ্যার ট্রলিং এবং / অথবা শীর্ষস্থানীয় নিউলাইনগুলি অনুমোদিত;

  • ট্রেলিং (তবে নেতৃত্ব দেয় না!) সাদা স্থান অনুমোদিত;

  • আপনি যদি বর্ধিত এএসসিআইআই বক্স-অঙ্কন অক্ষর ব্যবহার করতে না পারেন তবে আপনি তাদের ইউনিকোড সমতুল্য (কোনও বাইট পেনাল্টি ছাড়াই) বিকল্প হিসাবে নিতে পারেন।

এটি তাই বাইটের মধ্যে সংক্ষিপ্ত উত্তর w

বাইনারি প্রতিনিধিত্ব

আপনার সুবিধার্থে উপরের চিত্রের বাইনারি উপস্থাপনটি নিম্নরূপ:

INP A=0101011101010110
INP B=1101101011100101
  ___
X=A⊕B=0111001001001100

নমুনা আউটপুট

এখানে চিত্র বর্ণনা লিখুন

সাইড নোট

এই প্রশ্নে কাজ করার সময়, আমি এটির জন্য দুটি পৃথক বাশ সমাধান প্রয়োগ করেছি, একটি হল 122 অক্ষর / বাইট দীর্ঘ (উপরে বর্ণিত), এবং অন্যটি হ'ল 100 বাইট দীর্ঘ।

এগুলি পোস্ট করার মতো পরিকল্পনা আমার নেই (যেমন আমি সাধারণত আমার নিজের প্রশ্নের উত্তর পোস্ট করি না), তাই এটি কেবল রেফারেন্সের জন্য।

আমি আরও বিশ্বাস করি যে কমপক্ষে কিছু উপ-100 বাইট সমাধান সম্ভব।


2
এটি একটি এক্সএনওআর গেট, তাই না ...
ক্লিমিক

@ কিওয়ার্প-ডার্প ইয়েপ, সম্ভবত এটি :)
জেপেলিন

2
(0 == 0) == 0 এর পরিবর্তে বি বা এক্স শুরু হয় এবং 1 এ শেষ হয় না?
রোমান সিজবোরা

@ রোমান সিজবোরা নিশ্চিত নই যে আমি ধারণাটি বুঝতে পেরেছি, আপনি কি এই বিষয়ে কিছুটা ব্যাখ্যা করতে পারবেন?
জেপেলিন

1
@zeppelin প্যাটার্নের শুরুতে ডানদিকে তাকান - প্রথম দম্পতি পিক্সেল। এ, বি এবং এক্স সব কম আছে। শেষে একই সত্য। কেন এই ক্ষেত্রে? (আমি বিশ্বাস করি এটি রোমানের প্রশ্ন)।
ইসাকাক

উত্তর:


5

05AB1E , 101 বাইট + 5 ইউটিএফ -8 বাইট = 116 মোট বাইট = 106 বাইট

(লেগ্যাসি 05 এএবি 1 ই সংস্করণ, টিওয়ের বেশি নয়)

•=(Ín§Àoà`œ¯_eè8y1ÜŸ,Ú®:¹$:,õKA–x[Âì0ãXÔfz}y×ì¹Ï½uEÜ5äÀTë@ºQÈ™ñó:ò…Eä•6B"102345"" ┌─┐└┘"‡6ävyN" A B X"èì}»

এটি অনলাইন চেষ্টা করুন!

সংক্ষেপণ:

•=(Ín§Àoà`œ¯_eè8y1ÜŸ,Ú®:¹$:,õKA–x[Âì0ãXÔfz}y×ì¹Ï½uEÜ5äÀTë@ºQÈ™ñó:ò…Eä• 
# Pattern, converted to base-6 in base-6=214.

111023102310222223102310231022231112251425142511111425142514251114221022231022231023102222231110231023151114251114251425111114222514251411102222231110231110231110222311111225111114222514222514222511142222
# Actual base-6 pattern.

1110231023102222231023102310222311
1225142514251111142514251425111422
1022231022231023102222231110231023
1511142511142514251111142225142514
1110222223111023111023111022231111
1225111114222514222514222511142222
#Pattern split into chunks of 34.

   ┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐  
 ──┘ └─┘ └─┘     └─┘ └─┘ └─┘   └──
 ┌───┐ ┌───┐ ┌─┐ ┌─────┐   ┌─┐ ┌─┐
 ┘   └─┘   └─┘ └─┘     └───┘ └─┘ └
   ┌─────┐   ┌─┐   ┌─┐   ┌───┐    
 ──┘     └───┘ └───┘ └───┘   └────
# Pattern after replacing 0,1,2,3,4,5 with appropriate blocks.

রূপান্তর:

6B                                   # Convert back to base-6.
  "102345"" ┌─┐└┘"‡                  # Replace numbers with appropriate counterparts.
                   6ä                # Split into 6 equal parts (the rows).
                     vy           }  # For each row (chunk).
                       N" A B X"èì   # Push label at index [i], prepend to line.
                                   » # Print all separated by newlines.

ব্যবহার সিপি-1252 এনকোডিং।


আপনাকে এই চ্যালেঞ্জের উদ্দেশ্যে ("বিধিগুলি" দেখুন) প্রতিটি ইউনিকোড বক্স-অঙ্কন চরিত্রকে মাত্র 1 বাইট হিসাবে গণনা করার অনুমতি দেওয়া হয়েছে, সুতরাং আপনার উত্তরটি এটি অনুসারে দীর্ঘ 106 বাইট is যুক্তিটি হ'ল এই ইউনিকোড অক্ষরগুলি 1 বাইট অক্ষর যেমন সিপি 437 বা আইবিএম 850-তে প্রতিস্থাপন করা যেতে পারে তবে এটি প্রদর্শিত আরও জটিল হতে পারে।
zeppelin

আমি জেপেলিনের সাথে একমত বিধিগুলিতে দেওয়া ছাড় দেওয়া, সুতরাং এটি হবে 106 বাইট।
স্তর নদী সেন্ট

বিকল্প পদ্ধতি যা কেবল বিল্টিন ব্যবহার করে 05AB1E এর নতুন সংস্করণে কাজ করে Åв(আমি এর সাথে এএসসিআইআই আর্ট জেনারেটর টিপটিও আপডেট করেছি ): 106 বাইট
কেভিন ক্রুইজসেন

4

বুবলগাম , 76 বাইট

00000000: 92d6 3000 5431 1505 1403 50e8 4e0a aafc  ..0.T1....P.N...
00000010: 9f62 15e6 a3ff 61fa dc05 e06d 8b66 cbc7  .b....a....m.f..
00000020: e6b6 cff8 519a b85a 3eb6 b67d 95c0 0feb  ....Q..Z>..}....
00000030: 35b5 521d 7f7e 68af a916 fa20 d999 564d  5.R..~h.... ..VM
00000040: 1f03 d559 59ed 265c f243 42be            ...YY.&\.CB.

এটি অনলাইন চেষ্টা করুন!

ভিটি 100 বিকল্প চরিত্র সেট থেকে বক্স-অঙ্কন অক্ষর ব্যবহার করে, যা টিআইও প্রদর্শন করতে পারে না। সেরা ফলাফলের জন্য একটি ইউনিক্স টার্মিনালে চালান আমার টার্মিনালটি এসিএসকে অনুলিপি-অন-পেস্টে ইউটিএফ -8 এ রূপান্তর করে, যাতে আপনি এখানে প্রভাবটি দেখতে পারেন।

anders@change-mode:/tmp$ bubblegum xnor.zlib
    ┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐
A ──┘ └─┘ └─┘     └─┘ └─┘ └─┘   └──
  ┌───┐ ┌───┐ ┌─┐ ┌─────┐   ┌─┐ ┌─┐
B ┘   └─┘   └─┘ └─┘     └───┘ └─┘ └
    ┌─────┐   ┌─┐   ┌─┐   ┌───┐
X ──┘     └───┘ └───┘ └───┘   └────
▒┼␍␊⎼⎽@␌␤▒┼±␊-└⎺␍␊:/├└⎻$ 

ওয়েল, চ্যালেঞ্জ বলে না আমরা টার্মিনাল ফেরত নিতে প্রয়োজন আউট শেল ফিরে আসার আগে এসিএস মোডের। সে জন্য শুভকামনা।


3

রুবি, 113 বাইট

চ্যালেঞ্জ দ্বারা অনুমোদিত হিসাবে একটি বাইট হিসাবে মুদ্রিত প্রতীক গণনা করা (তারা আসলে 3 বাইট আবিষ্কার করে আমি অবাক হয়েছিলাম)

6.times{|i|s=' A B X'[i]
'D]zunIWkF]nIRukFH'.bytes{|b|s+='   ┌─┐───┘ └'[(b*2>>i/2*2&6)-i%2*6,2]}
s[1]=' '
puts s}

আউটপুট 6 লাইন যাদু স্ট্রিং এর প্রতিটি অক্ষর 6 বিট একটি এনকোডিং এ নিজেকে ধার দেয়। তবে যাদু স্ট্রিং অক্ষরগুলি প্রতিটি সংক্রমণের জন্য প্রকৃতপক্ষে এনকোড করে:

least significant bit 0 New value for A  
                      1 Current value for A
                      2 New value for B
                      3 Current value for B
                      4 New value for X
                      5 Current value for X
most significant bit  6 Always 1 (to remain in printable range)

এটি প্রতিটি অক্ষরের জন্য মুদ্রিত হওয়া আবশ্যক এমন 2 টি অক্ষর সন্ধান করতে ডিকোড করা হয়েছে (যার মধ্যে প্রথমটি স্থান বা অনুভূমিক রেখা হয়)) উপরের এবং নীচের সারিগুলির জন্য 8-অক্ষরের স্ট্রিংগুলি ওভারল্যাপ হয়: উপরের সারির জন্য শেষ দুটি অক্ষর 11দুটি অনুভূমিক রেখা, যা নীচের সারির প্রথম দুটি অক্ষরের জন্য যা প্রয়োজন তার সাথে মেলে 00। নীচের সারির চারপাশে মোড়ানো জন্য 8 টি অক্ষর: এগুলি শেষ 6 এবং প্রতীক স্ট্রিংয়ের প্রথম 2 টি অক্ষর।

অবহেলিত কোড

6.times{|i|s=' A B X'[i]               #iterate through 6 lines of output. Set s to the 1st character.
  'D]zunIWkF]nIRukFH'.bytes{|b|        #for each byte in the magic string
     s+='   ┌─┐───┘ └'[(b*2>>i/2*2&6)- #add 2 bytes to s, index 0,2,4, or 6 of the symbol string depending on relevant 2 bits of the magic string.
     i%2*6,2]                          #if the second (odd) row of a particular graph, modify index to -6,-4,-2, or 0 
  }                                    #(ruby indices wrap around. mystring[-1] is the last character of the string.)
  s[1]=' '                             #replace intitial ─ of the curve with space to be consistent with question
  puts s                               #output line
}

এটি আসলে 129 বাইট, 113 টি অক্ষর।
ম্যাজিক অক্টোপাস উর্ন 12'17

1
@ কারাসোকম্পুটিং আমি দেখতে পাচ্ছি আপনি এখানে বেশিরভাগ উত্তরের বিষয়ে একই মন্তব্য করেছেন। দয়া করে আমার আনসারের প্রথম লাইনটি দেখুন এবং ওপির 4 টি নিয়ম করুন: If you can not use the extended ASCII box-drawing characters, you may substitute them for the unicode equivalents (at no byte penalty)আমরা সবাই বিধি অনুসারে আমাদের উত্তরগুলি পেয়েছি ।
স্তর নদী সেন্ট

2

পাওয়ারশেল, 255 টি অক্ষর, 265 বাইট (UTF-8)

$a='    012 012 0111112 012 012 01112
A 113 413 413     413 413 413   411
  01112 01112 012 0111112   012 012
B 3   413   413 413     41113 413 4
    0111112   012   012   01112
X 113     41113 41113 41113   41111'
0..4|%{$a=$a-replace$_,('┌─┐┘└'[$_])};$a

এটি আমার কম্পিউটারে কাজ করে তবে টিআইওতে বাইটগুলি সঠিকভাবে পার্স করার মতো মনে হচ্ছে না ...

স্ক্রিনশট

এটি $aসংখ্যা এবং ফাঁকা স্থানগুলি পূর্ণ করে একটি মাল্টি-লাইনের স্ট্রিং হিসাবে সেট করে, তারপরে লুপগুলি 0..4|%{...}। প্রতিটি পুনরাবৃত্তি, আমরা উপযুক্ত অক্ষর সহ -replaceউপযুক্ত অঙ্ক করি এবং এটি আবার জমা করি । তারপরে, আমরা কেবল পাইপলাইনে রেখেছি এবং আউটপুট অন্তর্ভুক্ত।$_'┌─┐┘└'[$_]$a$a


চ্যালেঞ্জ অনুসারে আপনাকে ইউনিকোডের অক্ষরগুলি একক বাইট হিসাবে গণনা করার অনুমতি দেওয়া হয়েছে
ফ্লিপট্যাক

2

জাভাস্ক্রিপ্ট (ES6), 163 158 154 বাইট

এনবি: চ্যালেঞ্জ দ্বারা অনুমোদিত হিসাবে ইউটিএফ -8 টি অক্ষরকে বাইট হিসাবে গণনা করা হচ্ছে।

_=>[..." A B X"].map((c,i)=>c+" "+[...Array(33)].map((_,j)=>j%2?" ─"[p^i&1]:" ┐┌─└┘ "[p+(p=[27370,42843,12878][i>>1]>>j/2&1)*2+i%2*3]).join``,p=0).join`
`

ডেমো

নীলকে ধন্যবাদ 4 বাইট সংরক্ষণ করা


j%2?" ─"[p^i&1]:" ┐┌─└┘ "[p+(p=[27370,42843,12878][i>>1]>>j/2&1)*2+i%2*3]3 বাইট সঞ্চয়
নীল

ওহ, এবং 17 থেকে 33 এ পরিবর্তন করুন।
নীল

আবার, 152 অক্ষর, 164 বাইট।
যাদু অক্টোপাস উর্ন

2

সি, 213 205 বাইট

পরিবর্তনের জন্য, এই চ্যালেঞ্জের উপরে সি প্রোগ্রামের আকারটি অন্যান্য ভাষার তুলনায় সম্পূর্ণ হাস্যকর নয়।

#define X(a) u[i]=C[a],l[i++]=C[(a)+4]
p(n,c){char u[34],l[34],*C=" ┐┌──└┘ ",i=0;while(i<34)X(n&3),n>>=1,X((n&1)*3);printf("  %.33s\n%c %.33s\n",u,c,l);}main(){p(0xD5D4,'A');p(0x14EB6,'B');p(0x649C,'X');}

অবহেলিত, সংজ্ঞায়িত প্রসারিত এবং মন্তব্য করেছে:

p(n,c){
    // u is the upper line of the graph, l the lower line
    char u[34],l[34],*C=" ┐┌──└┘ ",i=0;
    while(i<34)
        u[i]=C[n&3],            // using the two LSBs to set the transition char depending on the current and next state
        l[i++]=C[(n&3)+4],      // do for both upper and lower lines
        n>>=1,                  // shift bits right to go to next state
        u[i]=C[(n&1)*3],        // using only the LSB to set the "steady" char depending on current state only
        l[i++]=C[((n&1)*3)+4];  // do for both upper and lower lines
    printf("  %.33s\n%c %.33s\n",u,c,l);
}
main() {
    // Call p for each graph
    // Constants are chosen so the display is consistent with the request.
    // Each bit represents a state, but the order is reversed
    // (leftmost is put on lowest significant bit, after a 0)
    p(0xD5D4,'A');p(0x14EB6,'B');p(0x649C,'X');
}

দ্রষ্টব্য: সি স্ট্রিংটিতে ইউনিকোডের অক্ষর থাকা উচিত নয় । সমস্ত প্রদর্শনযোগ্য অক্ষরগুলি অবশ্যই পুরানো 8-বিট অক্ষর হতে হবে (তবে সেগুলি বর্ধিত পরিসরে বেছে নেওয়া যেতে পারে)। সুতরাং মূলত, আউটপুটটির বৈধতা আপনার কোড পৃষ্ঠার উপর নির্ভর করে।


1

টিসিএল, 221 চর, 299 বাইট

lmap {b _ n u A V} {"   " ┌─────┐ ┌───┐ └───┘ ┌─┐ └─┘} {puts "[set S \ $b][set m $A\ $A] $_ $m $n
A ──┘ [set w $V\ $V][set s \ $S]$w $V$b└──
  $n $n $A $_$b$m
B ┘$b$V$b$w$s$u $V └
$S$_$b$A$b$A$b$n
X ──┘$s$u $u $u$b└────"}

চালানো যেতে পারে: http://rextester.com/live/VVQU99270


228 টি অক্ষর, তবে এটি 306 বাইট।
যাদু অক্টোপাস উর্ন

@ কারাসোকম্পিউটিং: চরগুলির পরিবর্তে বাইট গণনা করার জন্য আপনি কোন অনলাইন সরঞ্জামটি ব্যবহার করেন? অগ্রিম অগ্রণী।
সার্জিওল

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.