#include <stdio.h>
int main()
{
    printf("Enter the number:");
    double num;
    scanf("%lf",&num);
    printf("%lf\n",num);
}

इनपुट:२२२२२२२२२२२२२२२२२
आउटपुट: २२२२२२२२२२२२२२२२२४.०००००
यह आउटपुट क्यों दे रहा है जैसा दिया नहीं गया।

0
kingmohan45 24 अक्टूबर 2018, 18:29

1 उत्तर

सबसे बढ़िया उत्तर

एक लंबा डबल आमतौर पर x86 विस्तारित सटीक प्रारूप में लागू किया जाता है। उसके भिन्न भाग में 63 बिट होते हैं और इसमें लगभग 18 महत्वपूर्ण अंक होते हैं। आपका नंबर 17 अंक लंबा है, और जो हो रहा है वह यह है कि उपलब्ध 63 बिट्स में सटीक रूप से स्टोर करने के लिए संख्या बहुत बड़ी है।

यदि यह हमेशा एक पूर्णांक (कोई दशमलव भाग नहीं) होने वाला है, तो इस संख्या का प्रतिनिधित्व करने के लिए "लंबे लंबे" का उपयोग करने पर विचार करें।

0
Steve Boyko 24 अक्टूबर 2018, 15:39