c++ - How to Convert 64bit Long Data Type to 16bit Data Type -


मैं जानना चाहूंगा कि 64 bit long किसी भी प्रकार की 16 बिट डेटा प्रकार टाइम स्टाम्प को शामिल करने के लिए ईथरनेट एपलीकेशन में यह सुविधा आवश्यक है केवल 2 बाइट्स ( 16 बिट ) समय स्टाम्प को शामिल करने के लिए उपलब्ध हैं लेकिन हमें 64 बिट लंबा से Win API से टाइम स्टाम्प मान मिल रहा है। तो 64 बिट डेटा प्रकार से 16 बिट डेटा प्रकार तक रूपांतरण आवश्यक है।

अच्छा, आप कर सकते हैं

कुछ जानकारी को खोए बिना, 64 बिट्स की जानकारी 16 बिट्स के स्टोरेज में नहीं रखती।

तो यह आपके ऊपर निर्भर है कि टाइमस्टैम्प को मात्रा या मात्रा कैसे छोडें जैसे मान लीजिए कि आप नैनोसेकंड परिशुद्धता में टाइमस्टैम्प प्राप्त करते हैं, लेकिन आपको केवल सेकेंड सटीक में इसे स्टोर करने की आवश्यकता है उस स्थिति में आप 64 बिट संख्या को 1000000000 तक विभाजित करते हैं और सेकंड के साथ छोड़ दिया जाता है। तो यह 16 बिट्स में फिट हो सकता है या नहीं (16 बिट्स केवल 65535 सेकंड तक स्टोर करेंगे)।

यदि यह फिट नहीं होगा, तो आपके पास समय-समय पर रैंपिंग समय-समय पर होगा जो, फिर से, आपके मामले में एक समस्या हो सकती है या यह समस्या नहीं हो सकती है।

किसी भी स्थिति में, यदि आपको एक मौजूदा पुस्तकालय के लिए समय की आवश्यकता है जो टाइमस्टैंप की आवश्यकता होती है - तो पता करें क्या उस टाइमस्टैम्प में की जरूरत है (घड़ी की टिक्स? सेकंड? साल?)। तब पता लगाएं कि विंडोज बार का काम आप रिटर्न का उपयोग कर रहे हैं। फिर विंडोज़ टाइम यूनिट को लाइब्रेरी में परिवर्तित करें-जो कि आप-उपयोग की समय इकाई है।


Comments