PDA

View Full Version : پردازش روی اعداد باینری



M_rasouli
پنج شنبه 28 تیر 1386, 20:10 عصر
سلام . می خواهم با پردازش کردن بر روی عددهای (0و1) باینری، به 20.000 نوع نتیجه برسم . من 20.000 نوع رکورد دارم که می خواهم از طریق فیلدی باینری که آن را در سرس ایجاد کردم به رکورد مورد نظر برسم . این کار را جهت سرعت پردازش بالا انتخاب کرده ام . حال برای حل آن احتیاج به راهنمایی دارم . از راهنمایی شما ، قبلاً متشکرم .

ARA
شنبه 30 تیر 1386, 11:24 صبح
سوالت کمی نا مفهمومه

اگه میخوای از باینری استفاده کنی بصورت byte استفاده کن

از کلاس BitConverter هم میتونی استفاده کنی

M_rasouli
شنبه 30 تیر 1386, 14:57 عصر
من رکوردی دارم که درون آن فیلدی است که ازنوع باینری است . حال می خواهم 20.000 نوع عدد باینری (فقط باینری ) در آن ذخیره کنم . تا 20.000 نوع رکورد یکتا داشته باشم .
پردازش و کد نویسی این روش را نمی دانم . ممنون

ARA
شنبه 30 تیر 1386, 16:01 عصر
از همون


BitConverter.GetBytes(x);

استفاده کن
x که integer رو هم با استفاده از کلاس random درست کن
درسته:متفکر:

M_rasouli
یک شنبه 31 تیر 1386, 14:14 عصر
خیلی ممنون از راهنماییتون . اما من متاسفانه عددهای تصادفی به کارم نمی یاد .من می خواهم که 20.000 نوع پردازش برام مشخص باشد . می خواهم هر 20.000 نوع بدونم چیه . تا بتونم بر اساس نوعشان در رکوردها جستجو کنم .میخواهم این کار با پردازش بر روی اعداد 0و1 (باینری)انجام بشود . می خواهم از طریق and یا or کردن عددهای باینری به این نوع ها برسم . ممنونم

ARA
یک شنبه 31 تیر 1386, 18:00 عصر
خوب باید خودت بنویسی

اگه بتونی در مورد برنامه ای که مینویسی توضیح بدی شاید بچه های برنامه نویس هم کمک بیشتری بهت بتونند بکنند

M_rasouli
سه شنبه 02 مرداد 1386, 19:52 عصر
ممنون . توضیحش کمی سخته . متشکرم

PC2st
سه شنبه 02 مرداد 1386, 20:06 عصر
اگر فقط بخوایم که از طریق and و or منطقی روی دو عدد دودوئی، به 20000 عدد برسیم، بنظرم بی نتیجه است، چون هر and یا or اگر دو بار پست سر هم صورت بگیرند به حالت اول بر میگردند، یعنی به این روش فقط یک الی چند عدد بدست می آید و بطور چرخشی به حالت اول بر میگرده... مگر اینکه اعداد دودوئی که and یا or میشوند، متغیر باشند. این نظر من بود، حالا ممکنه که واقعا بشه همچنین کاری کرد و فقط با and و or و چند عدد دودوئی، بشه 20000 عدد مجزا ایجاد کرد.
مگه اعداد معمولی چه ایرادی دارند؟ برای رکوردهاتون از عدد 1 تا 20000 (دهدهی) رو مشخص کنید تا از هم مجزا باشند و این اعداد دهدهی رو به کمک همون متدی که گفته شده، به دودوئی تبدیل کنید و در فیلد بریزید و هر بار هم که میخواهید یک رکورد جدید اضافه کنید، عدد اختصاص داده شده به آخرین رکورد رو بگیرید و یکی بهش اضافه کنید.

M_rasouli
یک شنبه 07 مرداد 1386, 23:45 عصر
ممنون از راهنماییتون . اما اگه من این روش را انتخاب کردم به خاطر سرعت پردازش بالای آن است . سیستمی که قرار است نوشته شود (سیستم انتقال اطلاعات )سیستم کوچکی نیست . بخاطر همین باید به سرعت پردازش اهمیت ویژه ای داده بشود . اگر راهشو پیدا کردم حتما اعلامش می کنم . چون فکر می کنم برای کارهای بزرگ کلی موثر باشه . بازم ممنون .

am_abbas65
دوشنبه 08 مرداد 1386, 00:14 صبح
میتونی یه حلقه بزاری که 20000 بار بچرخه بعد هربار Counter رو تقسیم بر دو کن و در یک متغییر اظافه کن بعد از تمام شدن یک دور حلقه اونرو که بانری شده است رو در database ذخیره بکن. و تمام.20000 تا عدد را در 13 بیت میتوان نوشت. پس داخل حلقه یک حلقه با counter 13 بگذار تا 13 بیتت کامل بشه .

ARA
سه شنبه 09 مرداد 1386, 14:25 عصر
نمیدونم اینها رو دیدی یا نه



BitArray b1,b2;
b1 = newBitArray(10, false);
b1.Set(3, true);
b1 = b1.Xor(b1);

M_rasouli
شنبه 13 مرداد 1386, 15:08 عصر
ممنونم . اما اگر این کار را انجام بدم . می دونید چه اتفاقی می افته . کلی از من سرعت می گیرد . من دنبال اینم که سرعت بالا بره ولی این طوری برنامه من می خوابه . بازم ممنون آقای am_abbas65

M_rasouli
شنبه 13 مرداد 1386, 15:15 عصر
ممنونم ARA ، نگاه می کنم ببینم چه کار می کنه .

حاجيان
پنج شنبه 02 خرداد 1387, 19:56 عصر
من يه برنامه مي خواهم كه :
يك عدد باينري حداكثر طول 100 را از ورودي گرفته و به مبناي 10 تبديل كند