سلام
من یکسری رشته که از اعداد تشکیل شده است و با طولهای 20 کاراکتری دارم و در نرم افزاری نیاز دارم که هر یک از این رشته ها را به رشته های فشرده تری مثلا 5 کاراکتر تبدیل کنم(نتیجه باید از اعداد تشکیل شده باشد).
لطفاً راهنمایی بفرمایید.
Printable View
سلام
من یکسری رشته که از اعداد تشکیل شده است و با طولهای 20 کاراکتری دارم و در نرم افزاری نیاز دارم که هر یک از این رشته ها را به رشته های فشرده تری مثلا 5 کاراکتر تبدیل کنم(نتیجه باید از اعداد تشکیل شده باشد).
لطفاً راهنمایی بفرمایید.
قاعده خاصی ندارن اون رشته ها؟
سلام
نه، هیچ قاعده ایی ندارند، فقط طول آنها میتواند ثابت باشد.
متشکرم
دوست عزیز می تونی معادل باینری هر عدد توسط الگوریتم هافمن پیدا کنی سپس اینارو کنار هم قرار بدی و معادل دهدی شو بدست بیاری اگه از 5 رقم یبیشتر شد طبق یه قاعدهای کوچکترش کنی مپلا تقسیم بر یه عدد بکنی در انتها هم برای بازیابی در عدد تقسیم شده ضرب کنی و دوباره ار هافمن جهت بازیابی استفاده کنی امیدوارم منظورتونو درست فهمیده باشم
من هم همین فکر رو کردم ولی فکر میکنم که طولش بیشتر از 5 بشه و تعدادی از ارقام رو از دست بده. تو این مورد فکر نمی کنم الگوریتم هافمن خوب جواب بده البته پراکندگی رو هم باید در نظر گرفت.نقل قول:
دوست عزیز می تونی معادل باینری هر عدد توسط الگوریتم هافمن پیدا کنی سپس اینارو کنار هم قرار بدی و معادل دهدی شو بدست بیاری اگه از 5 رقم یبیشتر شد طبق یه قاعدهای کوچکترش کنی مپلا تقسیم بر یه عدد بکنی در انتها هم برای بازیابی در عدد تقسیم شده ضرب کنی و دوباره ار هافمن جهت بازیابی استفاده کنی امیدوارم منظورتونو درست فهمیده باشم
دوست عزیز اگه تقسیم کنی مشکل حل نمی شه؟؟؟؟؟؟؟
اگه اشتباه فکر می کنم بگید
به فرض مثال فرض کنید عدد بشه 4564545685اگه بر یه عدد تقسیم بشه تعداد ارقام کمتر می شه
البته لزومی هم نیست از هافمن استفاده کنی می تونی یه قراردادی تو برنامت بزاری و بر حسب اون عدد باینری انتساب بدی
آخه عدد ها گم میشهنقل قول:
دوست عزیز اگه تقسیم کنی مشکل حل نمی شه؟؟؟؟؟؟؟
اگه اشتباه فکر می کنم بگید
به فرض مثال فرض کنید عدد بشه 4564545685اگه بر یه عدد تقسیم بشه تعداد ارقام کمتر می شه
مثلا همین ععدی که گفتی رو اگه به 2 تقسیم کنیم چطوری برش میگردونیم؟
اگه منظورتون اینه که با Double ذخیره اش کنیم که باز میشه همون
اگه با توجه به پراکندگی الگوریتم هافمن جوابشون رو بده خوب
ولی اگه بنا به تقسیم باشه به نظر من 100% مشکل ساز میشه
دوست عزیز
استاد من دکتر بالازاده پروژه ای را با همین عنوان با شبکه های عصبی با الگوی هاپفیلد برای سیستمهای مخابراتی کار کرده .پس از آموزش شبکه اگه شما 7 بیت به شبکه بدید شبکه میتونه تا 30 بیتشو کامل کنه.
اینم درسته روش فکر می کنم البته لگه بدونید بر چه چیزس تقسیم می کنید کافیست اگه باقی مانده داشت خارج قسمت و باقیماندرو بدونی تا بتونی باز یابی کنی البته هنو اطمینان صد در صد ندارم باید فکر کنمنقل قول:
نوشته شده توسط mzjahromi
اعداد را به مبنایه ۶۲ بنویس، مثال:نقل قول:
نوشته شده توسط hr110
1,2,3,...,9,a,b,c,...,x,y,z,A,B,C,D,E,F,......,X,Y ,Z
دوست عزیز روی سوالو کامل بخون !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!نقل قول:
نوشته شده توسط اَرژنگ
در مبنایه ۱۶ FABB هم عدده. اگر منظور از اعداد فقط در مبنایه ۱۰ است، اون چیزه دیگریه.نقل قول:
نوشته شده توسط mohandese_hiclass
نه منظور این نیست چون فقط صرف استفاده از یک مبنای خاص فکر نکنم جوابگوی سوال باشهنقل قول:
نوشته شده توسط اَرژنگ
دوستت عزیز به جایی رسیدی ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
اگر منظورت یک تابع یک به یک هست که تمام اعداد 20 رقمی رو به عدد 5 رقمی منحصر به فرد تبدیل کنه غیر ممکنه! اصل لانه کبوتری که میدونی چیه؟