MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

जावास्क्रिप्ट - 24 अंकों की हेक्साडेसिमल संख्या को दशमलव में बदलें, 1 जोड़ें और फिर वापस कनवर्ट करें?

यह संस्करण इनपुट स्ट्रिंग के रूप में लंबे समय तक एक स्ट्रिंग लौटाएगा, इसलिए इनपुट "ffffffff" जैसा कुछ होने पर ओवरफ्लो को अनदेखा कर दिया जाता है।

function hexIncrement(str) {
    var hex = str.match(/[0-9a-f]/gi);
    var digit = hex.length;
    var carry = 1;

    while (digit-- && carry) {
        var dec = parseInt(hex[digit], 16) + carry;
        carry = Math.floor(dec / 16);
        dec %= 16;
        hex[digit] = dec.toString(16);
    }
    return(hex.join(""));
}

document.write(hexIncrement("55a98f19b27585d81922ba0b") + "<BR>");
document.write(hexIncrement("ffffffffffffffffffffffff"));

यह संस्करण एक स्ट्रिंग लौटा सकता है जो इनपुट स्ट्रिंग से 1 वर्ण लंबा है, क्योंकि "ffffffff" जैसा इनपुट "100000000" बन जाता है।

function hexIncrement(str) {
    var hex = str.match(/[0-9a-f]/gi);
    var digit = hex.length;
    var carry = 1;

    while (digit-- && carry) {
        var dec = parseInt(hex[digit], 16) + carry;
        carry = Math.floor(dec / 16);
        dec %= 16;
        hex[digit] = dec.toString(16);
    }
    if (carry) hex.unshift("1");
    return(hex.join(""));
}

document.write(hexIncrement("55a98f19b27585d81922ba0b") + "<BR>");
document.write(hexIncrement("ffffffffffffffffffffffff"));

मैं यह देखने के लिए उत्सुक था कि क्या उपयोगकर्ता 2864740 के 12-अंकीय विखंडू के साथ काम करने का सुझाव कोई लाभ प्रदान करेगा। मेरे आश्चर्य के लिए, भले ही कोड अधिक जटिल दिखता है, यह वास्तव में लगभग दोगुना तेज़ है। लेकिन पहला संस्करण प्रति सेकंड 500,000 बार भी चलता है, इसलिए ऐसा नहीं है कि आप वास्तविक दुनिया में ध्यान देने वाले हैं।

function hexIncrement(str) {
    var result = "";
    var carry = 1;
    while (str.length && carry) {
        var hex = str.slice(-12);
        if (/^f*$/i.test(hex)) {
            result = hex.replace(/f/gi, "0") + result;
            carry = 1;
        } else {
            result = ("00000000000" + (parseInt(hex, 16) + carry).toString(16)).slice(-hex.length) + result;
            carry = 0;
        }
        str = str.slice(0,-12);
    }
    return(str.toLowerCase() + (carry ? "1" : "") + result);
}

document.write(hexIncrement("55a98f19b27585d81922ba0b") + "<BR>");
document.write(hexIncrement("000000000000ffffffffffff") + "<BR>");
document.write(hexIncrement("0123456789abcdef000000000000ffffffffffff"));


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. सी # के साथ कुल $ लुकअप

  2. MongoDB और C#:केस असंवेदनशील खोज

  3. MongoDB में किसी दस्तावेज़ का ObjectId या _id कैसे वापस करें? और त्रुटि $ में एक सरणी की जरूरत है

  4. MongoDB Mongoid का उपयोग करके MongoHQ से कनेक्ट नहीं होगा

  5. नोड में '_id' द्वारा MongoDB प्रविष्टियों की खोज करने का सही तरीका