विंडोज कमांड लाइन में संख्याओं की तुलना


0

दो संख्याओं की तुलना कैसे करें यदि वे 32 बिट सिस्टम में डॉस में 32 बिट से अधिक हैं? दो नंबर बाइट्स में फ़ोल्डर्स का आकार हैं। कृपया क्या कोई मेरी सहायता कर सकता है?


क्या आप MS-DOSया Windows XP / Vista / 7 के साथ आने वाले कमांड लाइन दुभाषिया का जिक्र कर रहे हैं ?
डारथ एंड्रॉइड

कैममंड लाइन दुभाषिया
सचिन

@ सैशिन - कमांड प्रॉम्प्ट एक 32-बिट प्रक्रिया है। इसका मतलब है कि पूर्णांक इसका सामान्य आकार है।
रामहाउंड

4
अगर powershellयह एक विकल्प है, तो यह सबसे आसान है: यह या तो int32 या int64 का चयन करेगा ताकि यह ठीक powershell 10000000000 -ge 20000000000000
चले

मैं आगे गया और एमएस-डॉस टैग को हटा दिया क्योंकि यह स्पष्ट रूप से कमांड प्रॉम्प्ट प्रश्नों के लिए इसका उपयोग नहीं करने का संकेत देता है।
रामहाउंड

जवाबों:


1

संख्याओं के बजाय गद्देदार तारों का उपयोग करते समय Techie007 का विचार वास्तव में प्रयोग करने योग्य है :

set num1=666123456789
set num2=123450123456789
set "tmp1=               %num1%"
set "tmp2=               %num2%"
set pad1="%tmp1:~-15%"
set pad2="%tmp2:~-15%"
if %pad1% gtr %pad2% …

इस कोड में आप 2 अंकों की तुलना 15 अंकों तक कर सकते हैं:

  • numX संख्याओं को पकड़ें
  • tmpX 15 स्थानों के साथ उपसर्ग संख्या को पकड़ें
  • padX पिछले 15 वर्णों को पकड़ें -> गद्देदार संख्या तार, अब तुलना के लिए तैयार!

यदि आप अधिक संख्याओं की तुलना करने की आवश्यकता रखते हैं, या यदि लागू हो, तो उपलब्ध sortकमांड के माध्यम से गद्देदार तार को छाँटने की आवश्यकता है, तो इसे एक सबरूटीन में रखें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.