यह सब "i" के प्रकार पर निर्भर करता है। डेल्फी में, एक आम तौर पर लूप-वेरिएबल्स को "आई: इंटीगर" के रूप में घोषित करता है, लेकिन यह "i: PChar" भी हो सकता है जो डेल्फी 200 9 और एफपीसी (मैं अनुमान लगा रहा हूं) के नीचे पेंसिचर को हल करता हूं, और पीडब्ल्यूडब्ल्यूएच पर डेल्फी 200 9 और डेल्फी.NET (अनुमान लगाने)।
चूंकि डेल्फी 200 पॉइंटर-गणित कर सकता है, इंक (i) टाइप किए गए पॉइंटर्स पर भी किया जा सकता है (यदि उन्हें POINTER_MATH चालू किया गया है)।
उदाहरण के लिए:
type
PSomeRecord = ^RSomeRecord;
RSomeRecord = record
Value1: Integer;
Value2: Double;
end;
var
i: PSomeRecord;
procedure Test;
begin
Inc(i); // This line increases i with SizeOf(RSomeRecord) bytes, thanks to POINTER_MATH !
end;
अन्य anwsers जैसा कि पहले ही कहा: यह देखने के लिए खोलने के क्या संकलक अपने कोड से बना अपेक्षाकृत आसान है:
दृश्य> डीबग विंडोज> सीपीयू विंडोज > Disassembly
नोट, अनुकूलन की तरह है कि संकलक विकल्प, OVERFLOW_CHECKS और RANGE_CHECKS अंतिम परिणाम को प्रभावित कर सकते हैं, तो आप shoul डी अपनी पसंद के अनुसार सेटिंग्स रखने के लिए ख्याल रखना।
इस पर एक टिप: प्रत्येक इकाई में, $ एक फ़ाइल शामिल करें जो कंपाइलर विकल्पों को चलाता है, इस तरह, जब आप अपने .bdsproj या .dproj को किसी तरह क्षतिग्रस्त करते हैं तो आप सेटिंग को नहीं हटाएंगे। (इस पर एक अच्छे उदाहरण के लिए जेसीएल के स्रोत कोड को देखें)
"5.1222741794670901427682121946224e-8" ?? "5.12e-8" के साथ क्या गलत है? :-) मैं किसी भी व्यावहारिक अनुप्रयोग के बारे में नहीं सोच सकता जिसके लिए 32 महत्वपूर्ण अंक की आवश्यकता होती है, न ही उनमें से आधे से भी कोई माप सही है। "एक गणितज्ञ पीआई से 1 अरब अंक चाहता है, एक इंजीनियर पाई के बराबर 3.14" – stevenvh
हेहे, ठीक है, मैंने एक परीक्षण चलाया और परिणामस्वरूप मैंने बस इसे काट दिया और चिपकाया, इसलिए अंकों की बड़ी संख्या :) –