দ্বিতীয় শূন্যটি সন্ধান করুন


10

চ্যালেঞ্জ

32 বিট মধ্যে একটি পূর্ণসংখ্যা দেওয়া দুই এর সম্পূরক ফরম্যাট, সূচক আসতে দ্বিতীয় বাইনারি উপস্থাপনা, যেখানে একজন সূচক চেয়ে কম গুরুত্বপূর্ণ শূন্য অঙ্ক 0অন্তত গুরুত্বপূর্ণ বিট প্রতিনিধিত্ব করে, এবং একটি সূচক 31সবচেয়ে গুরুত্বপূর্ণ বিট প্রতিনিধিত্ব করে।

যদি দ্বিতীয় শূন্য না থাকে, আপনি 0, যে কোনও নেতিবাচক সংখ্যা, কোনও মিথ্যা মান, বা এমনভাবে কোনও ত্রুটির প্রতিবেদন করতে পারেন যা আপনার ভাষায় অর্থবোধ করে।

আপনি যদি চান তবে আপনি 1-ইনডেক্সিং ব্যবহার করতে পারেন তবে নীচের পরীক্ষার কেসগুলি 0-ইনডেক্সিং ব্যবহার করবে।

আপনি যদি স্বাক্ষর না করেন তবে আপনি স্বাক্ষরযুক্ত পূর্ণসংখ্যা ব্যবহার করতে পারেন; যদি আপনি এটি করেন তবে আপনার অবশ্যই পরিসীমাতে পূর্ণসংখ্যাগুলি পরিচালনা করতে হবে [0, 2^32)। আপনি যদি স্বাক্ষরিত পূর্ণসংখ্যা ব্যবহার করেন তবে আপনাকে অবশ্যই পরিসীমাটিতে পূর্ণসংখ্যাগুলি পরিচালনা করতে হবে [-2^31, 2^31)। এখানে পরীক্ষার ক্ষেত্রে স্বাক্ষরিত পূর্ণসংখ্যা ব্যবহার করা হবে তবে নোট করুন -x(স্বাক্ষরিত) 2^32 - x(স্বাক্ষরযুক্ত) নেই।

পরীক্ষার কেস

0 (0 বি 100) -> 1
1 (0b001) -> 2
10 (0b1010) -> 2
11 (0b01011) -> 4
12 (0b1100) -> 1
23 (0b010111) -> 5
-1 (0b11..11) -> কিছুই নয়
-2 (0 বি 11..10) -> কিছুই নয়
-4 (0 বি 11..00) -> 1
-5 (0 বি 11..1011) -> কিছুই নয়
-9 (0 বি 11..10111) -> কিছুই নয়
2 ^ 31-2 (0b0111..1110) -> 31

স্কোরিং

এটি , তাই প্রতিটি ভাষার সংক্ষিপ্ত উত্তরটি জিতে যায়!


পরিবর্তে আমরা কি স্বাক্ষরবিহীন পূর্ণসংখ্যা ব্যবহার করতে পারি?
লিকি নুন

হ্যাঁ আপনি যতক্ষণ না এরপরে পরিসংখ্যানগুলি পরিচালনা করতে পারবেন [0, 2^32)
musicman523

1
আমরা 0b...কি ইনপুট হিসাবে পূর্ণসংখ্যা বা স্ট্রিং নিচ্ছি ?
TheLethalCoder

1
@ জোনাথন অ্যালান আমার ধারণা নেই, যেহেতু আমার জেলি উত্তরটি দিয়ে আমাকে সংশোধন করা 2^32-1হয়েছিল কারণ আমার ফিরে আসার কথা ছিল না 33
এরিক আউটগল্ফার

1
@ জোনাথান অ্যালান এরিকের উত্তর সঠিক। আমি প্রতিদ্বন্দ্বিতা করার জন্য চ্যালেঞ্জের বৈশিষ্টটি আপডেট করেছি যে আপনি 32-বিট পূর্ণসংখ্যার হ্যান্ডেল করা উচিত কিনা আপনি সেগুলি স্বাক্ষরিত বা স্বাক্ষরবিহীন হিসাবে বেছে নেওয়া বেছে নিন
musicman523

উত্তর:


16

পাইথন 2 , 45 বাইট

lambda n:[i for i in range(32)if n|1<<i>n][1]

এটি অনলাইন চেষ্টা করুন!

0-ইনডেক্সিং, স্বাক্ষরবিহীন সংখ্যাগুলি ব্যবহার করে এবং কোনও দ্বিতীয় শূন্যে একটি ত্রুটি নিক্ষেপ করে।

কেবলমাত্র সর্বনিম্ন থেকে সর্বোচ্চে সেট না করা বিটগুলির সূচকের তালিকা তৈরি করে এবং দ্বিতীয় এন্ট্রি প্রদান করে।


5
পিপিসিজিতে আপনাকে স্বাগতম! প্রথম প্রথম পোস্ট!
এরিক আউটগল্ফার

ধন্যবাদ! আমি পাইথনের গল্ফিং কৌশলে এখনও সত্যিই নতুন, তাই আমি এই কোডটি তত্ক্ষণাত গল্ফ হয়ে উঠেনি বলে আনন্দিত।
আর্নল্ড পামার

দুর্দান্ত :) এন = 2147483647 সম্পর্কে কী?
mdahmoune

@ এমদাহমূনে ২ ** ৩১-১ এ ভুল হওয়া উচিত, যেহেতু 32 বিটে এর বাইনারি প্রতিনিধিত্ব 0b01111111111111111111111111111111111, যার একটি দ্বিতীয় নেই 0 না থাকলে আমি কিছু মিস করছি না ...
আর্নল্ড পামার

6

জাভাস্ক্রিপ্ট (ES6), 34 বাইট

0-ভিত্তিক সূচকগুলি প্রদান করে, বা -1দ্বিতীয় শূন্য পাওয়া না গেলে।

n=>31-Math.clz32((n=~n^~n&-~n)&-n)

পরীক্ষার মামলা

বিকল্প এক্সপ্রেশন

n=>31-Math.clz32((n=~n^++n&-n)&-n)

পুনরাবৃত্ত সংস্করণ, 42 বাইট

0-ভিত্তিক সূচকগুলি প্রদান করে, বা falseদ্বিতীয় শূন্য পাওয়া না গেলে।

f=(n,p=k=0)=>n&1||!k++?p<32&&f(n>>1,p+1):p

কিভাবে?

f=(n,p=k=0)=>                               // given n, p, k
             n&1||                          // if the least significant bit of n is set
                  !k++?                     // or this is the 1st zero (k was not set):
                       p<31&&               //   return false if p is >= 31
                             f(n>>1,p+1)    //   or do a recursive call with n>>1 / p+1
                                        :p  // else: return p

পরীক্ষার মামলা

নীল, 41 বাইট দ্বারা প্রস্তাবিত বিকল্প সংস্করণ

0-ভিত্তিক সূচক ফেরত দেয়, বা দ্বিতীয় শূন্য খুঁজে পাওয়া না গেলে খুব বেশি সংখ্যার পুনরাবৃত্তি ত্রুটি ছুড়ে দেয় ।

f=(n,c=1)=>n%2?1+f(~-n/2,c):c&&1+f(n/2,0)

41-বাইট পুনরাবৃত্ত সংস্করণ:f=(n,c=1)=>n%2?1+f(~-n/2,c):c&&1+f(n/2,0)
নীল

5

জেলি , 7 বাইট

|‘‘&~l2

এটি অনলাইন চেষ্টা করুন!

এটি যদি দ্বিতীয় শূন্য না হয় তবে [1,31] এর মধ্যে নেই এমন কিছুকে আউটপুট করে। এর মধ্যে রয়েছে 32 33এবং (-inf+nanj)। আমার ধারণা কিছুটা বুদ্ধিমান হয়।

এটি গণনা করে log(((x|(x+1))+1)&~x)/log(2)


1
-inf+nanjআমি ভাবিনি যে
লুইস মেন্ডো

এটি এমন কোনও ইনপুটটির (-inf+nanj)জন্য আউটপুট দেয় না 2147483647যার মধ্যে বাইনারি উপস্থাপনা রয়েছে 31 1s, অতএব 32-বিট স্বাক্ষরিত স্বরলিপিতে কোনও দ্বিতীয় শূন্য নয় (এ কারণেই এটি আমার এবং এরিকের উত্তরগুলির তুলনায় অনেক ছোট)।
জোনাথন অ্যালান

আসলে, যখন নেই এটি উত্পাদন (-inf+nanj)?
জোনাথন অ্যালান

... আহ আমি মনে করি এটি কার্যকর হয়েছে, আপনি সাইনড বিকল্পটি ব্যবহার করছেন?
জোনাথন অ্যালান

4

জাভা, ... 194 191 186 বাইট

static int f(int n){char[] c=Integer.toBinaryString(n).toCharArray();int j=0,o=2^32-2,i=c.length,l=i-1;if(n<0|n>o)return 0;for(;j<2&i>0;j+=c[--i]==48?1:0);if(j==2)return l-i;return 0;}

-159 ছোট ভেরিয়েবলের নাম ব্যবহার করার জন্য এবং সাদা স্থান সরিয়ে
দেওয়ার জন্য বাইটস -২৫ বাইটস, এমনকি আরও ছোট ভেরিয়েবল গ্রহণ করার পরে এবং @ কেভিন ক্রুইজসেন টিপস
-১৮ বাইটস, আরও হোয়াইট স্পেস, ফাংশন নাম
-৩ বাইটস, কেভিন ক্রুইজসেনকে ধন্যবাদ, শর্ত সংক্ষিপ্ত করে
-5 বাইট , @ আর্নল্ড পামারকে ধন্যবাদ, কেভিন ক্রুইজসেন, লুপটি ছোট করা

Ungolfed

public static int getPosSecondZero2(int number){
    int overflow = 2^32-2;
    if(number < 0 || number > overflow){
        return 0;
    }    
    String binaryString = Integer.toBinaryString(number);   
    char[] binaryCharArray = binaryString.toCharArray();    
    int count = 0;
    int idx = binaryCharArray.length;
    int length = binaryCharArray.length -1;
    while(count < 2 && idx>0){
        idx--;
        if(binaryCharArray[idx] == '0'){
            count++;
        }   
    }
    if(count == 2)
        return length-idx;
    return 0;
}

পিপিসিজিতে আপনাকে স্বাগতম! আপনি গল্ফ করতে পারেন বেশ কয়েকটি জিনিস: static অপসারণ করা যেতে পারে; ( বন্ধনী পরিবর্তে এবং কোনও বন্ধনী নয়) if(n<0||n>o){return 0;}হতে পারে ; , ইত্যাদি ইত্যাদি একক অক্ষর হতে পারে (কোড-গল্ফে মাল্টি-বাইট ভেরিয়েবল / পদ্ধতির নাম কখনও ব্যবহার করবেন না); আপনি একত্রিত করতে পারেন এই মত গুলি: । এবং গল্ফ আরও কিছু জিনিস আছে। জাভা golfing জন্য টিপস এবং সমস্ত ভাষায় golfing জন্য টিপস পড়া আকর্ষণীয় হতে পারে। আবার স্বাগতম, এবং আপনার থাকার উপভোগ করুন! :)if(n<0|n>o)return 0;|||bsbsaintint o=2^32-2,c=0,i=x.length,l=i-1;
কেভিন ক্রুইজসেন

আমি মনে করি এখনও আপনার কয়েকটি পরিবর্তনশীল ঘোষণায় কয়েকটি জায়গা ফাঁকা রাখতে পারেন। স্বাগত! :)
musicman523

@ musicman523 ধন্যবাদ, হ্যাঁ এটি ঠিক করে দিয়েছে। 194 এর জন্য এখন :)
0x45

1
if(c[i]=='0'){j++;}এখনও if(c[i]==48)j++;-3 বাইটের জন্য গল্ফ করা যেতে পারে :) সম্পাদনা: বা আরও ভাল: -8 বাইটের জন্য while(j<2&&i>0){i--;if(c[i]=='0'){j++;}}হতে পারে for(;j<2&i>0;j+=c[i--]==48?1:0);
কেভিন ক্রুইজসেন

1
@ 0x45 আমি বিশ্বাস করি আপনি যদি কেভিনক্রুইজসেনের কোডটি পরিবর্তন করেন তবে for(;j<2&i>0;j+=c[--i]==48?1:0);এটি কাজ করা উচিত। ত্রুটিটি iস্ট্রিংয়ের দৈর্ঘ্য থেকে আসছে, সুতরাং প্রাথমিকভাবে আপনি অ্যারের সীমানা পেরিয়ে সূচকের চেষ্টা করছেন। আপনি যদি প্রাক-হ্রাস করেন (আপডেট হওয়া স্নিপেটে দেখানো হয়েছে), তবে আপনি প্রথমবার এটি ব্যবহার করবেন c[c.length-1]আপনার মূল কোডের মতো অ্যাক্সেস করবে ।
আর্নল্ড পামার 14


3

আইএ -32 মেশিন কোড, 14 13 বাইট

Hexdump:

F7 D1 0F BC C1 0F B3 C1 0F BC C9 91 C3

অপ্রয়োজনীয় তালিকা:

0:  f7 d1                   not    ecx
2:  0f bc c1                bsf    eax,ecx
5:  0f b3 c1                btr    ecx,eax
8:  0f bc c1                bsf    ecx,ecx
b:  91                      xchg   eax, ecx
c:  c3                      ret

ইনপুট প্রাপ্ত ecx; আউটপুট হয় al। ত্রুটিতে 0 প্রদান করে।

প্রথমত, এটি ইনপুট উল্টে দেয়, তাই এটি সেট বিটগুলি সন্ধান করতে বিট স্ক্যান নির্দেশাবলী ব্যবহার করতে পারে। এটি সর্বনিম্ন উল্লেখযোগ্য সেট বিটের জন্য অনুসন্ধান করে, এটি পুনরায় সেট করে, আবারও কমপক্ষে উল্লেখযোগ্য সেট বিটের জন্য অনুসন্ধান করে এবং ফলাফলটি দেয়।

যদি বিট-স্ক্যান নির্দেশাবলী কোনও সেট বিট না খুঁজে পায় তবে ইনটেল ডকুমেন্টেশন বলে যে আউটপুটটি পূর্বনির্ধারিত। তবে, বাস্তবে সমস্ত প্রসেসর গন্তব্য নিবন্ধটি এই ক্ষেত্রে অপরিবর্তিত রেখে দেয় (কোডি গ্রে দ্বারা উল্লিখিত হিসাবে, এএমডি ডকুমেন্টেশন এই আচরণটিকে বাধ্যতামূলক হিসাবে বর্ণনা করে)।

সুতরাং, নিম্নলিখিত কেস রয়েছে:

  1. শূন্য বিট নেই (বাইনারি 111 ... 1): এক্সেক্স 0 দ্বারা সেট করা হয় notএবং 0 অবধি থাকে
  2. এক শূন্য বিট: ইক্সেক্স 0 দ্বারা সেট করা হয় btrএবং 0 পরে থাকেbsf
  3. দুটি শূন্য বিট: এক্সেক্স যথাযথ মান দ্বারা সেট করা হয় bsf

এটি কেবলমাত্র ইন্টেলের ডকুমেন্টেশন যা বলে যে 0-তে বিট স্ক্যানগুলি সংজ্ঞায়িত। এএমডির ডকুমেন্টেশনগুলি স্পষ্টভাবে নথি করে যে গন্তব্যটি অপরিবর্তিত রয়েছে। আপনি যদি এই আচরণটি এড়াতে চান, আপনি সাধারণত এলজেডিসিএনটি বা টিজেডিসএনটি পেতে আরইপি উপসর্গটি যুক্ত করবেন তবে এটি বাইট গণনা বৃদ্ধি করে যা কোড গল্ফের জন্য স্বাভাবিকভাবেই অনাকাঙ্ক্ষিত।
কোডি গ্রে

1
আপনি এখানে আসলে অনেক বেশি কাজ করছেন। চ্যালেঞ্জের ক্ষেত্রে আপনাকে শূন্য বিট নেই এমন ক্ষেত্রে এবং যেখানে কেবল ১ শূন্য বিট নেই সেই ক্ষেত্রে পার্থক্য করার প্রয়োজন নেই। এটি আপনাকে উভয় ক্ষেত্রে 0 (বা কোনও নেতিবাচক মান) ফেরত দিতে দেয়। সুতরাং, যদিও 1 বাইট SALC+ + DECহয় অত্যন্ত চালাক, আপনি বন্ধ বাইট শুধু ব্যবহার যাই হোক না কেন হয় শেভ করতে ECXসেকেন্ডের হিসাবে BSFনির্দেশ। কেবলমাত্র 1-বাইটের XCHGপ্রয়োজন ফলাফলটি পেতে EAXযাতে এটি ফিরে আসতে পারে। অন্য কথায়,not ecx; bsf eax, ecx; btr ecx, eax; bsf ecx, ecx; xchg eax, ecx; ret
কোডি গ্রে

1
উপরের জন্য এখানে একটি "এখানে চেষ্টা করে দেখুন" লিংকটি দেওয়া আছে । আপনি যেহেতু ECXইনপুট রেজিস্টার হিসাবে ব্যবহার করছেন তাই আমাদের জিসিসিকে দ্রুত কল কলিং কনভেনশনটি ব্যবহার করতে বলা দরকার।
কোডি গ্রে

2

ডায়ালগ এপিএল, 20 বাইট

{2⊃(⍳32)/⍨~⌽⍵⊤⍨32⍴2}

1-সূচক ব্যবহার করে, INDEX ERRORদ্বিতীয় শূন্যের ক্ষেত্রে নিক্ষেপ করে।

কিভাবে?

⍵⊤⍨- হিসাবে এনকোড

32⍴2 - দৈর্ঘ্যের 32 বাইনারি স্ট্রিং

- বিপরীত

~ - নিন্দিত করুন (0 → 1, 1 → 0)

(⍳32)/⍨ - 1-32 পরিসীমা (জিরোর সূচকগুলি রেখে) দিয়ে সংকোচন করুন

2⊃ - দ্বিতীয় উপাদান বাছাই


আপনি যেখানে ( ) ব্যবহার করে প্রচুর বাইট সংরক্ষণ করতে পারেন
টোনিটাইট

@TwiNight আমি ব্যবহারের dyalog 14
ঊরীয়েল

আপনার প্রয়োজনে টিআইওর ডায়ালগ 16 রয়েছে
টুইনাইট

1

জেলি , 13 বাইট

B¬Ṛ;1,1ḣ32TḊḢ

এটি অনলাইন চেষ্টা করুন!

1-ইনডেক্সিং ব্যবহার করে, ইনপুট হিসাবে স্বাক্ষরবিহীন পূর্ণসংখ্যা পায়। রিটার্নস 0পাওয়া যায়নি জন্য।


ইনপুটটির 33জন্য এই আউটপুটগুলি 4294967295( 2^32-1, 32-বিটের স্বাক্ষরযুক্ত সমতুল্য -1)
musicman523


1

জেলি , 12 বাইট

,4BUFḣ32¬TḊḢ

একটি মোনাডিক লিঙ্ক, একটি পূর্ণসংখ্যা গ্রহণ করে, স্বাক্ষরবিহীন বিকল্পটি ব্যবহার করে এবং 1-সূচিযুক্ত ফলাফলটি ফেরত দেয় (0 টি উপস্থিত না হলে ফিরে আসে)।

এটি অনলাইন চেষ্টা করুন!

অথবা

32Ḷ2*|€n⁸TḊḢ

চেষ্টা কর

কিভাবে?

1।

,4BUFḣ32¬TḊḢ - Link: number, n   e.g. 14
,4           - pair with 4            [14,4]
  B          - to binary              [[1,1,1,0],[1,0,0]]
   U         - upend                  [[0,1,1,1],[0,0,1]]
    F        - flatten                [0,1,1,1,0,0,1]
     ḣ32     - head to 32             [0,1,1,1,0,0,1] (truncates the right if need be)
        ¬    - not (vectorises)       [1,0,0,0,1,1,0]
         T   - truthy indexes         [1,5,6]
          Ḋ  - dequeue                [5,6]
           Ḣ - head                   5
             -   if the dequeued list is empty the head yields 0

2।

32Ḷ2*|€n⁸TḊḢ - Link: number, n   e.g. 14
32Ḷ          - lowered range of 32    [ 0, 1, 2, 3, 4, 5, ...,31]
   2*        - 2 exponentiated        [ 1, 2, 4, 8,16,32, ...,2147483648]
     |€      - bitwise or for €ach    [15,14,14,14,30,46, ...,2147483662]
        ⁸    - chain's right argument 14
       n     - not equal?             [ 1, 0, 0, 0, 1, 1, ..., 1]
         T   - truthy indexes         [ 1, 5, 6, ..., 32]
          Ḋ  - dequeue                [ 5, 6, ..., 32]
           Ḣ - head                   5
             -   if the dequeued list is empty the head yields 0

1

x86_64 মেশিন কোড, 34 32 বাইট

নিশ্চিত না যে এটি সঠিক পন্থা, বেশ কয়েকটি বাইট (দেখা যাচ্ছে যে এটি নয় ):

31 c0 83 c9 ff 89 fa 83 e2 01 83 f2 01 01 d1 7f 09 ff c0 d1 ef eb ee 83 c8 ff 83 f8 1f 7f f8 c3

এটি অনলাইন চেষ্টা করুন!

second_zero:
  # Set eax = 0
  xor  %eax, %eax
  # Set ecx = -1
  xor %ecx,%ecx
  not %ecx

  # Loop over all bits
Loop:
  # Get current bit
  mov %edi, %edx
  and $0x1, %edx
  # Check if it's zero and possibly increment ecx
  xor $0x1, %edx
  add %edx, %ecx
  # If ecx > 0: we found the position & return
  jg Return
  # Increment the position
  inc %eax
  # Shift the input and loop
  shr %edi
  jmp Loop

Fix:
  # If there's not two 0, set value to -1
  xor %eax,%eax
  not %eax

Return:
  # Nasty fix: if position > 31 (e.g for -1 == 0b11..11)
  cmp $31, %eax
  jg  Fix

  ret

-2বাইটের জন্য @ কোডি গ্রে ধন্যবাদ


1
সমস্ত বিট দিয়ে লুপিং কোড গল্ফিং বা বাস্তব বিশ্বের পক্ষে সম্ভবত সঠিক পদ্ধতির নয়। বাস্তব যুগান্তকারী নির্দেশাবলী আপনি একসাথে সব 32 (অথবা 64) বিট নিপূণভাবে করার অনুমতি দেয় একটি ব্যবহার হবে, মত BSF, BSR, POPCNT, BT, ইত্যাদি Anatolyg হয়েছে এই লাইন বরাবর একটি সমাধান পেশ । আমি এখনও নির্ধারণ করতে পারি না এটি বীট করা যায় কিনা। :-p
কোডি গ্রে

1
যাইহোক, -1 তে একটি রেজিস্টার সেট করার জন্য একটি সম্ভাব্য দরকারী কোড-গল্ফিং ট্রিকটি এটি -1 এর সাথে হয় to উদাহরণস্বরূপ or ecx, -1,। এটি 3 বাইট, XOR + NEG এর চেয়ে 1 বাইট কম। গল্ফ না করার সময় এটি কোনও ভাল কৌশল নয় কারণ এটি গন্তব্য নিবন্ধের উপরে একটি মিথ্যা পাঠ নির্ভরতার পরিচয় দেয়, তবে সেখানে আপনি কেবল mov ecx, -15 বাইট ব্যবহার এবং ব্যয় করতেন।
কোডি গ্রে

1

8 ম , 149 বাইট

2 base swap >s nip decimal s:len 32 swap n:- ( "0" s:<+ ) swap times s:rev null s:/ a:new swap ( "0" s:= if a:push else drop then ) a:each swap 1 a:@

মন্তব্য করা কোড

: f \ n -- a1 a2 n 

  \ decimal to binary conversion
  2 base swap >s nip decimal     

  \ 32bit formatting (padding with 0)            
  s:len 32 swap n:- ( "0" s:<+ ) swap times  

  \ put reversed binary number into an array 
  s:rev null s:/

  \ build a new array with position of each zero 
  a:new swap ( "0" s:= if a:push else drop then ) a:each

  \ put on TOS the position of the 2nd least least-significant zero digit
  swap 1 a:@
;

ব্যবহার এবং আউটপুট

ok> : f 2 base swap >s nip decimal s:len 32 swap n:- ( "0" s:<+ ) swap times s:rev null s:/ a:new swap ( "0" s:= if a:push else drop then ) a:each swap 1 a:@ ;

ok> [0, 1, 10, 11, 12, 23, -1, -2, -4, -5, -9, 2147483646]

ok> ( dup . " -> " .  f . 2drop cr ) a:each
0 -> 1
1 -> 2
10 -> 2
11 -> 4
12 -> 1
23 -> 5
-1 -> null
-2 -> null
-4 -> 1
-5 -> null
-9 -> null
2147483646 -> 31

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.