تور لحظه آخری
امروز : جمعه ، 10 فروردین 1403    احادیث و روایات:  امام علی (ع):اگر پنج خصلت نبود، همه مردم جزوِ صالحان مى شدند: قانع بودن به نادانى، حرص به دنيا، بخ...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

خرید ووچر پرفکت مانی

تریدینگ ویو

خرید اکانت اسپاتیفای

کاشت ابرو

لمینت دندان

وکیل اصفهان

لیست قیمت گوشی شیائومی

آیسان اسلامی

خرید تجهیزات صنعتی

دستگاه جوش لیزری اتوماتیک

دستگاه جوش لیزری اتوماتیک

اجاق گاز رومیزی

تور چین

صرافی ارکی چنج

صرافی rkchange

لوله پلی اتیلن

دانلود سریال سووشون

دانلود فیلم

ناب مووی

مرجع خرید تجهیزات آشپزخانه

خرید زانوبند زاپیامکس

رسانه حرف تو - مقایسه و اشتراک تجربه خرید

کلاس باریستایی تهران

تعمیر کاتالیزور

تعمیر گیربکس اتوماتیک

دیزل ژنراتور موتور سازان

سرور اختصاصی ایران

سایت ایمالز

تور دبی

سایبان ماشین

جملات زیبا

دزدگیر منزل

ماربل شیت

تشریفات روناک

آموزش آرایشگری رایگان

طراحی سایت تهران سایت

آموزشگاه زبان

اجاره سند در شیراز

ترازوی آزمایشگاهی

رنگ استخری

فروش اقساطی کوییک

راهبند تبریز

قطعات لیفتراک

خرید مبل تختخواب شو

وکیل تبریز

خرید اجاق گاز رومیزی

آموزش ارز دیجیتال در تهران

شاپیفای چیست

فروش اقساطی ایران خودرو

دانلود رمان

واردات از چین

قیمت نردبان تاشو

وکیل کرج

تعمیرات مک بوک

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

سیسمونی نوزاد

 






آمار وبسایت

 تعداد کل بازدیدها : 1793553001




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

الگوريتم هافمن


واضح آرشیو وب فارسی:سایت ریسک: View Full Version : الگوريتم هافمن ameneh25-10-2007, 04:33 AMسلام به همه دوستان ببخشيد من مي خواستم الگوريتم هافمن رو پياده كنم و از اين طريق عمل فشرده سازي رو انجام بدم.اما متاسفانه بعد از اين كه كد معادل هر حرفي رو (مثلا براي فشرده سازي فايل متني ) بدست آوردم ، كدهاي 3 بيتي يا 5 بيتي و ... ميشه!!! مثلا اگه بخوام اسم خودم رو كد كنم مثلا اگه a=10 m=0001 e=11 n=00000 h=00001 b=0110 r=001 z=0111 g=0100 حالا تك تك اينا رو چطور وارد فايل كنم(چطوري تك تك بيتها رو مديريت مي شه كرد) من نميدونم چه جوري مي شه با تك تك بيتها تو c كار كنم؟؟؟اگه كسي مي دونه كمكم كنه!!!!ممنونم بازم!!!:10::13: mehdicracker25-10-2007, 12:22 PMبه نظر می یاد که همه ی عددهارو می شه به 5 بیت تبدیل کرد پس باید شما خودتون بقیه ی بیت ها رو یه عددی بزارید تا برای عمل فشرده سازی با مشکل مواجه نشید و البته برای عمل decompress مثلا می توانید حرف a رو به 10222 تبدیل کنید یا بین هر حرف یه حرف جدا کننده بزارید مثل ( , ) که در این حالت برای خارج کردن فایل از فشرده سازی باید بیت هایی رو که بین این علامت ها است جدا کنید و بعد تبدیلش کنید به حرف صحیح برای کار با بیت ها هم می تونید فایل رو در حافظه load کنید و به استفاده از ادرس اولین حافظه مقادیر بیت ها رو بخوانید و .... ameneh25-10-2007, 08:03 PMسلام ممنون دوست عزيز اينجا چند تا چيز هست اول اينكه نمي شه به اين كدها چيزي اضافه كرد ،چون عمل فشرده سازي هست و بايد اين كاراكتر ها كه 8 بيت مي گيره كمترش كنيم،مثلا حرف a كه به طور معمول 8 بيت مي گيره با استفاده از الگوريتم بيت هاش كم شده و 2 بيت شده؛حالا اگه باز بخوام 3 تا بيت خودم اضافه كنم كه ديگه اصلا هدف اصلي كه فشرده سازي هست از بين رفته..:18: از طرفي اگه فايل رو تو حافظه load كنم و آدرس شروع رو داشته باشم مي تونم 8 تا 8 تا رو بيت ها جلو برم(يا 16 تا 16 تاو ...) حالا چجوري بگم مثلا بيت سوم رو 1 كن ؟مشكلم اينه؟؟؟؟؟؟؟:41: بازم ممنونم از كمكت...:20: ameneh27-10-2007, 12:46 PMبي انصافا يكي جواب ما رو بده؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:42::41: m3hrz4d28-10-2007, 02:10 AMسلام. برای کار با بیت ها باید از عمگر های بیتی | & ^ و عملگر های شیفت دادن >> و << استفاده کنی.ساختار های بیتی و union هم میتونه بیشتر کمک کنه.توضیحش طولانیه میتونی به یه کتاب آموزش C مراجعه کنی.ولی برای مثال که ببینی کلا چطوری هست, اینجا یه char تعریف میکنیم 65 رو میریزیم توش و با استفاده کردن از عملگر | , بیت سوم رو 1 میکنیم و نتیجه رو توی یک char دیگه میریزیم : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ameneh28-10-2007, 03:33 AMمرسي ،خيلي لطف كرديد. نیوشـــــا08-12-2007, 10:56 AMمی شه کد هافمنت رو پس از تکمیل در سایت بگذاری؟؟؟ واقعا بهش نیازمندم :-) خواهش می کنم این لطف رو بکن، یا به این میل بفرست niosha [email protected] Mehran NZ08-12-2007, 11:43 PMدوست عزيز مي تونم از شما بپرسم اين الگوريتمي كه گفتيد رو در چه كتابي مي شه در موردش خوند؟ منظورم اينه كه مثلا درساختمان هاي داده هست يا چيز ديگه اي؟ راستش به اين دليل مي پرسم كه گفتيد ميخوايد برنامه ها رو فشرده سازي كنيد منم خيلي دوست دارم در اين مورد اطلاعاتي داشته باشم و مثلا اينكه برنامه اي مثل winrar چطور نوشته مي شه ameneh15-12-2007, 12:14 AMسلام به همه دوستان من شرمنده همتونم.ببخشید دیر جواب دادم.یه مدت نت نیومدم. در ارتباط با نیوشا خانم باید بگو چشم رو چشم.حتما کامل کردم بهتون میدم. اما در جواب چیزی که آقا مهران فرمودند: این یکی از مسایل داخل کتاب طراحی اگوریتم هست. این سوال رو استادمون برای درس محیط های چند رسانه ای مربوط به فشرده سازی مطرح کرد.اگه الگوریتمشو بدونید میمونه پیاده سازی. no name15-12-2007, 12:22 AMسلام همون طور که بچه ها گفتند با عملگر های | و & و >> و << می تونید استفاده کنید توضیح به صورت کاملش در کتاب پاسکال کافمن من دیدم no name15-12-2007, 12:28 AMاگه بخوام تو ضیح بدم(البته با اجازه دوستان عزیزم) | یعنی یا که مثلا می تونی یه عدد با یه عدد دیگه رو با هم یا بیتی کنی مثلا 10001001 11100011 ------------- 11101011 همون طور که متوجه شدی به ازای 1 ها 1 می شه و فقط در صورتی که هر دو صفر باشن 0 می شه no name15-12-2007, 12:35 AM& 10101010 11010000 ----------- 10000000 <<(شیفت به راست) 10010101 << 01001010 کل عدد ها رو به یک خونه به سمت راست راست انتقال میده و به جای سمت چپ ترن بیت عدد 0 وارد میکنه و شیفت به چپ بر عکس عمل می کنه و عدد خروجی از بایت هم توی carry ریخته می شه و می تونی چک کنی که عدد 0 بوده یا 1 no name15-12-2007, 12:42 AMدر ضمن با هر بار شیفت دادن به راست عدد تقسیم بر 2 و با هر بار شیفت به چپ عدد ضرب در 2 می شه راستی از یه سری تر فند ها هم می تونی استفاده کنی مثلا اگه یه بایت رو با 0 &(and) کنی بایتت 0 می شه (شاید بگی خوب با یتم رو مستقیما صفر می کنم اما بعضی جا ها نمی شه از این روش استفاده کرد و با & سرعت برنامه هم بالاتر می ره) یا یه بایتو با خودش |(یا) کنی شاید به ظاهر هیچی نشه اما اگه Carry رو چک کنی می تونی بفهمی بایتت صفره یا عدد داره نیوشـــــا18-12-2007, 11:41 AMسلام من کد هافمن رو به طور کامل نوشتم اگه لازم داری برات بفرستم. abshar127-12-2007, 11:02 AMسلام نیوشا جان اگه می شه برام بفرست [email protected] asire-dell28-12-2007, 12:08 AMکد گامل الگوریتم هافمن رو می تونید از سایت www.iranvig.com (http://www.iranvig.com) بگیرید البته به زبان vb ستش و من چون vb نصب نداشتم نتونستم امتحان کنم. اگه شما امتحان کردید به من هم خبر بدبد ببینم درست کار می کنه یا نه. در ضمن من هم احتیاج زیادی به این کد دارم. در صورت پیدا کردن جواب به من هم بگید. ممنون. asire-dell29-12-2007, 11:31 AMسلام. نیوشا جان اگه می شه واسه من هم بفرست. [email protected] asire-dell30-12-2007, 07:29 PMمن امروز الگوریتمش رو توی کتاب ساختمان داده ها در c جعفر نژادقمی دیدم. فکر می کنم کامل توضیح داده بود mbsh27-11-2008, 03:52 AMسلا بچه ها من مي خوام تعداد تكرار حروف انگليسي رو براي رسم نمودار درختي هافمن پيدا كنم. كسي مي تونه كمكم كنه يا بگه چي سرچ كنم؟ در ضمن آيا براي حروف فارسي هم تعداد تكرارها مشخص شدن يا نه؟ سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 3491]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن