Negafibonacci coding
ریاضی میں، نیگافبونیکی کوڈنگ ایک عالمگیر کوڈ ہے جو غیر صفر انٹیجرز کو بائنری کوڈ کے الفاظ میں انکوڈ کرتا ہے۔ یہ فبونیکی کوڈنگ سے ملتا جلتا ہے، سوائے اس کے کہ یہ مثبت اور منفی دونوں عددوں کی نمائندگی کرنے کی اجازت دیتا ہے۔ تمام کوڈ "11" کے ساتھ ختم ہوتے ہیں اور اختتام سے پہلے "11" نہیں ہوتے ہیں۔ انکوڈنگ کا طریقہ ایک غیر صفر عدد X کو انکوڈ کرنے کے لیے: 1 سے N تک کے عجیب (یا یکساں) نیگا فبونیکی نمبروں کا مجموعہ کر کے N بٹس کے ساتھ سب سے بڑے (یا سب سے چھوٹے) انکوڈیبل نمبر کا حساب لگائیں۔ جب یہ طے ہو جائے کہ N بٹس صرف X پر مشتمل ہونے کے لیے کافی ہیں، تو بقیہ کا حساب رکھتے ہوئے X سے Nth نیگا فبونیکی نمبر کو گھٹا دیں، اور آؤٹ پٹ کے Nth بٹ میں ایک نمبر ڈالیں۔ Nth بٹ سے پہلے بٹ تک نیچے کی طرف کام کرتے ہوئے، متعلقہ نیگافبونیکی نمبروں میں سے ہر ایک کا موازنہ بقیہ سے کریں۔ اگر فرق کی مطلق قیمت کم ہے تو اسے بقیہ سے گھٹا دیں، اور اگر اگلے اعلی بٹ میں پہلے سے ایک نہیں ہے۔ اگر گھٹاؤ کیا جاتا ہے تو ایک کو مناسب بٹ میں رکھا جاتا ہے، یا اگر نہیں تو صفر۔ ختم کرنے کے لیے این + 1 ویں بٹ میں ایک رکھیں۔ کوڈ میں ٹوکن کو ڈی کوڈ کرنے کے لیے، آخری "1" کو ہٹا دیں، باقی بٹس کو ویلیوز 1، −1، 2، −3، 5، −8، 13 تفویض کریں۔ (نیگافبونیکی نمبرز)، اور "1" بٹس شامل کریں۔ نیگا فبونیکی کی نمائندگی نیگا فبونیکی کوڈنگ کا نیگا فبونیکی کی نمائندگی سے گہرا تعلق ہے، یہ ایک پوزیشنل عددی نظام ہے جو بعض اوقات ریاضی دان استعمال کرتے ہیں۔ کسی خاص غیر صفر عدد کے لیے نیگا فبونیکی کوڈ بالکل وہی ہوتا ہے جو عدد کی نیگا فبونیکی نمائندگی کا ہوتا ہے، سوائے اس کے کہ اس کے ہندسوں کی ترتیب الٹی ہو اور آخر میں ایک اضافی "1" منسلک ہو۔ تمام منفی نمبروں کے لیے نیگا فبونیکی کوڈ میں ہندسوں کی ایک عجیب تعداد ہوتی ہے، جبکہ تمام مثبت نمبروں میں ہندسوں کی ایک یکساں تعداد ہوتی ہے۔ جدول −11 سے 11 تک کے انٹیجرز کا کوڈ ذیل میں دیا گیا ہے۔ فبونیکی نمبرز گولڈن ریشو بیس زیکنڈورف تھیوریم حوالہ جات ورکس بھی دیکھیں جس کا حوالہ سیکشن 7.1.3 کے اشاعت سے پہلے کے مسودے میں دیا گیا ہے۔ خاص طور پر پی پی میں دیکھیں۔ غیر معیاری پوزیشنل عددی نظام لاس لیس کمپریشن الگورتھم فبونیکی نمبرز ایف آر: کوڈیج ڈی فبونیکی