محاسبه تابع mod براي اعداد بزرگ

Collapse
X
 
  • زمان
  • نمایش
Clear All
new posts
  • zoobin

    • 2014/01/14
    • 6

    محاسبه تابع mod براي اعداد بزرگ

    سلام دوستان من تازه عضو شدم. دوست دارم بیشتر به این سایت سر بزنم.
    اول عذرخواهی می کنم که تاپیک جدید زدم. ولی جایی و پیدا نکردم که سوالم و توش بنویسم.

    من میخوام تبدیل شماره حساب بانک به شبا و در اکسل پیاده سازی کنم. چون شدیدا بهش نیاز دارم و روزی 100 تا شماره شبا و باید چک کنم. نرم افزار داریم منتها یکی یکی قبول می کنه.
    من تمام مراحل و رفتم منتها مشکلی که دارم اینه که اکسل عددی که می خوام و قبول نمی کنه. مثلا می خوام باقیمانده عدد زیر و بدست بیارم. منتها دستور mod از من نمی پذیره. چه راه حلی و پیشنهاد می کنید؟
    A1=220170101110857724001182700


    =mod(A1,97)

    چه روشی پیدا کنم که اعداد بزرگ و اکسل بپذیره؟ یادآور می شوم که این عدد را ماشین حساب کامپیوتر به راحتی قبول می کند.

    یک دنیا سپاس
  • Amir Ghasemiyan

    • 2013/09/20
    • 4476

    #2
    نوشته اصلی توسط zoobin
    سلام دوستان من تازه عضو شدم. دوست دارم بیشتر به این سایت سر بزنم.
    اول عذرخواهی می کنم که تاپیک جدید زدم. ولی جایی و پیدا نکردم که سوالم و توش بنویسم.

    من میخوام تبدیل شماره حساب بانک به شبا و در اکسل پیاده سازی کنم. چون شدیدا بهش نیاز دارم و روزی 100 تا شماره شبا و باید چک کنم. نرم افزار داریم منتها یکی یکی قبول می کنه.
    من تمام مراحل و رفتم منتها مشکلی که دارم اینه که اکسل عددی که می خوام و قبول نمی کنه. مثلا می خوام باقیمانده عدد زیر و بدست بیارم. منتها دستور mod از من نمی پذیره. چه راه حلی و پیشنهاد می کنید؟
    a1=220170101110857724001182700


    =mod(a1,97)

    چه روشی پیدا کنم که اعداد بزرگ و اکسل بپذیره؟ یادآور می شوم که این عدد را ماشین حساب کامپیوتر به راحتی قبول می کند.

    یک دنیا سپاس

    سلام دوست عزيز
    خيلي خوش آمدين

    برام جالب بود كه اكسل نميتونه اعداد بزرگ رو محاسبه كنه. اين مورد رو بررسي خواهم كرد ولي شما ميتونين از اين فرمول استفاده كنيد. بدون مشكل جواب ميده
    کد:
    =a1-floor(a1/97,1)*97


    ضمنا عنوان تاپيك شما اصلاح شد

    Last edited by Amir Ghasemiyan; 2014/01/14, 17:47.

    کامنت

    • zoobin

      • 2014/01/14
      • 6

      #3
      متاسفانه این کد هم برای اعداد کوچک انجام پذیره. برای اعداد بزرگ نتیجه 0 را برمی گرداند

      اکسل اگر عدد را به فورمت number وارد نمایم شش تا صفر قرار می دهد و به صورت تکست درست می نویسد.
      0220170101110857724001
      220170101110857000000

      کامنت

      • meysam741

        • 2013/04/13
        • 57

        #4
        سلام خدمت دوستان
        من اين مطلب رو يه جايي خوندم ولي منبعش رو يادم نيست ، براي همينم نميتونم با اطمينان بگم:
        اكسل ارقام يك عدد رو تا 16 رقم ميخونه ولي اگه بيشتر از 16 رقم باشه رقمهاي 16 و بالاتر رو صفر ميخونه!!
        حالا اگه كسي اطلاعات دقيقتري داره خوشحال ميشم بدونم

        کامنت

        • Ali Parsaei
          مدير تالارتوابع اکسل

          • 2013/11/18
          • 1518

          #5
          کاملا" صحيح است، اکسل فقط توانايي محاسبات روي اعداد زير 16 رقم را دارد.
          البته من نمي دانم شماره شبا دقيقا" چطور محاسبه مي گردد، مي دانم که رقم هاي آخر دقيقا" همان شماره حساب معمولي است، حال اگر بدانيم محاسبات چگونه است شايد بشود به صورت تکه تکه محاسبات را انجام داد و دست آخر در يک سلول به صورت متني قطعات را کنار يکديگر رديف کرد و نتيجه دلخواه حاصل شود. مي توانيد توضيح دهيد؟ (يا اينکه اين ايده را مد نظر قرار داده و خودتان امتحان کنيد ببينيد کاري مي شود کرد)
          Last edited by Ali Parsaei; 2014/01/15, 16:13.
          sigpic

          کامنت

          • zoobin

            • 2014/01/14
            • 6

            #6
            من دقیقا میدونم شماره حساب چطوری محاسبه می شود. این کار و با ماشین حساب کامپیوتر نجام دادم به نتیجه هم رسیدم. منتها اکسل از این کار عاجزه
            نمی دونم چطوری و در کوئری اکسس بنویسم که شاید اکسس بتونه برام محاسبه کند
            مثلا دستور=mod(a1,97)
            در اکسس کجا و چگونه وارد می گردد؟!

            کامنت

            • ~M*E*H*D*I~

              • 2011/10/19
              • 4374

              #7
              نوشته اصلی توسط zoobin
              من دقیقا میدونم شماره حساب چطوری محاسبه می شود. این کار و با ماشین حساب کامپیوتر نجام دادم به نتیجه هم رسیدم. منتها اکسل از این کار عاجزه
              نمی دونم چطوری و در کوئری اکسس بنویسم که شاید اکسس بتونه برام محاسبه کند
              مثلا دستور=mod(a1,97)
              در اکسس کجا و چگونه وارد می گردد؟!
              درود

              متاسفانه بنده اطلاعات کمی از مسائل بانکی دارم اگر ممکن هست توضیح بدید ابن شبا که خیلی هم این روزها در موردش صحبت میشه چی هست و رووند محاسبش چطوریه تا جواب سوال شما بررسی بشه

              Last edited by ~M*E*H*D*I~; 2014/01/18, 16:48.

              sigpic

              کامنت

              • sohrabahmadi

                • 2012/05/03
                • 142

                #8
                با سلام به دوستان و اساتید عزیز ، در خصوص ارقام بالای 16 رقم آیا امکانش هست که پس از دستور اجرای ماشین حساب با استفاده از وی بی عملیات مربوطه توسط ماشین حساب انجام بشه ؟ مثلا عدد مورد نظر با خاصیت تکست در یک سلول نوشته بشه ، کپی بشه و ادامه عملیات از طریق ماشین حساب کامپیوتر انجام بشه؟ اگه دوستان راهنمایی بفرمایند ممنون میشم .
                تو خشنود باشی و ما رستگار

                کامنت

                • saboorian
                  • 2018/03/19
                  • 1

                  #9
                  نوشته اصلی توسط zoobin
                  سلام دوستان من تازه عضو شدم. دوست دارم بیشتر به این سایت سر بزنم.
                  اول عذرخواهی می کنم که تاپیک جدید زدم. ولی جایی و پیدا نکردم که سوالم و توش بنویسم.

                  من میخوام تبدیل شماره حساب بانک به شبا و در اکسل پیاده سازی کنم. چون شدیدا بهش نیاز دارم و روزی 100 تا شماره شبا و باید چک کنم. نرم افزار داریم منتها یکی یکی قبول می کنه.
                  من تمام مراحل و رفتم منتها مشکلی که دارم اینه که اکسل عددی که می خوام و قبول نمی کنه. مثلا می خوام باقیمانده عدد زیر و بدست بیارم. منتها دستور mod از من نمی پذیره. چه راه حلی و پیشنهاد می کنید؟
                  A1=220170101110857724001182700


                  =mod(A1,97)

                  چه روشی پیدا کنم که اعداد بزرگ و اکسل بپذیره؟ یادآور می شوم که این عدد را ماشین حساب کامپیوتر به راحتی قبول می کند.

                  یک دنیا سپاس
                  سلام

                  یکی از خواص تابع mod خاصیت ضرب پذیری است.
                  مثلا میدانیم: mod(100,97) برابر 3 میشود.
                  پس mod(500,97) برابر 15=3*5 میشود چون 500=100*5
                  یا mod(1000'000 , 97) برابر 3*3*3=27 میشود چون 100*100*100=1000000

                  یکی دیگر از خواص تابع mod خاصیت جمع پذیری است.
                  مثلا میدانیم: mod(100,97) برابر 3 میشود و mod(500,97) برابر 15 میشود
                  پس و mod(600,97) برابر 18=3+15 میشود چون 600=500+100

                  با این توضیحات محاسبه اعداد بزرگ ساده است.


                  مثال:
                  A1=220170101110857724001182700
                  A1=(2201701011108*100’000’000’000’000)+57724001182700
                  Mod(A1,97)=mod(2201701011108,97)*mod(100’000’000’000’000,97) + mod(57724001182700,97)

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

                  mod(2201701011108,97)=12
                  mod(100000000000000,97)=53
                  mod(57724001182700,97)=91

                  پس با توجه به نکات گفته شده

                  Mod(A1,97)=12*53+91=727
                  Mod(727,97)=48

                  یعنی در نهایت:

                  Mod(A1,97)=48


                  کامنت

                  Working...