এটি স্পর্শকাতরভাবে প্রোগ্রামিংয়ের একটি ভাষা আবিষ্কারের জন্য আমার অনুসন্ধানের সাথে সম্পর্কিত ।
বাইনারি সংখ্যা 0 .. 15 এর একটি সারণী সূচীকরণ ক্রিয়াকলাপগুলি ব্যবহার করে ইউনিভার্সাল বাইনারি ফাংশন প্রয়োগ করতে ব্যবহার করা যেতে পারে। দুটি 1-বিট ইনপুট এক্স এবং ওয়াই দেওয়া, সমস্ত 16 টি সম্ভাব্য ফাংশন 4-বিট অপকোডে এনকোড করা যাবে।
X Y F|0 1 2 3 4 5 6 7 8 9 A B C D E F
- - - - - - - - - - - - - - - - - -
0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
- - - - - - - - -
0 ~X ~Y ^ & Y X | 1
ZERO NOT-Y AND OR
NOT-X XOR ONE
সুতরাং 16 টি ফাংশনের এই সেটটি ফাংশন হিসাবে বাইনারি ইনপুটগুলিতে প্রয়োগ করা যেতে পারে
ইউ (এফ, এক্স, ওয়াই): (চ >> ((x << 1) | y)) এবং 1 ,
অথবা
ইউ (এফ, এক্স, ওয়াই): (চ / ২ ^ (x × 2 + y))% 2 ,
বা ইনডেক্সিং বা ম্যাট্রিক্স পার্টিশন সহ।
এই ধরণের বাইনারি ক্রিয়াকলাপের জন্য যে কোনও সম্ভাব্য ভাষা তৈরির জন্য এই জাতীয় মানগুলির একটি সারণী উপস্থাপন বা উত্পন্ন করার সর্বাধিক কমপ্যাক্ট উপায়টি জানা দরকারী।
লক্ষ:
এই সঠিক পাঠ্য আউটপুট উত্পাদন করুন:
0101010101010101
0011001100110011
0000111100001111
0000000011111111
এটাই! সংক্ষিপ্ত-কোড জিতেছে।