#include <stdio.h>
int main()
{
    double a;
    int b;
    scanf("%lf",&a);
    b =a;
    if(((a/2)-(b/2))==0){
        printf("The number is even\n");
    }
    else{
        printf("The number is odd\n");
    }
    return 0;
}

এই কোডে বড় সংখ্যা যেমন- 2^32 = (2147483648) ইনপুট দিলে The number is odd দেখায়। কিন্তু এটাতো int এর রেঞ্জেই আছে। int এর রেঞ্জ কি 2^32 না 2^31?

asked 29 Dec '17, 07:27

pollob1563's gravatar image

pollob1563
536

edited 29 Dec '17, 10:08

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
16618


int এর রেঞ্জ -২^৩১ থেকে +২^৩১-১। কারণ -১ ও +১ এর মাঝে ০ আছে। তাই int এর রেঞ্জ ২,১৪৭,৪৮৩,৬৪৭। আর ২^৩২ যেহেতু রেঞ্জের বাইরে, তাই প্রোগ্রামে ভুল ফলাফল দেখায়। উপরের কোডে unsigned int ডেটা টাইপ ব্যবহার করলে সঠিক ফলাফল আসবে। আর ২^৩২ = ৪,২৯৪,৯৬৭,২৯৬।

permanent link

answered 29 Dec '17, 09:50

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
16618

unsigned int মানে?

(29 Dec '17, 12:21) pollob1563

unsigned হচ্ছে একটা মডিফায়ার। মডিফায়ার বিষয়ে এই লিঙ্কে বিস্তারিত আছে।

(29 Dec '17, 13:18) Mosharraf Hosain ♦
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×25
×8
×2
×1

question asked: 29 Dec '17, 07:27

question was seen: 69 times

last updated: 29 Dec '17, 13:19