signed integer ও unsigned integer কী জিনিস? এদের মধ্যে পার্থক্য কী?

asked 30 Oct '14, 17:14

Hira%20Hasan's gravatar image

Hira Hasan
5926

edited 02 Feb '15, 13:55

tahmidrafi's gravatar image

tahmidrafi ♦♦
1.1k214

Go to this link and read this article.

Go to this link

(07 Jan '15, 08:50) kabircse

Signed integer ধনাত্মক ও ঋণাত্মক উভয় মানই ধরণ করতে পারে।Unsigned integer শুধু ধনাত্মক মান ধারণ করে। কিন্তু Unsigned integer এর সুবিধা হচ্ছে এর রেন্জ অনেক বেশি।

যেমন Signed integer ধারন করে -32768 থেকে +32767 পর্যন্ত নাম্বার সমূহ।কিন্তু Unsigned integer ধারণ করে 0 থেকে 65535 নাম্বার সমূহ। এখান থেকেই দেখতে পাচ্ছেন যে শুধু ধনাত্মক মান ধরণ করায় Unsigned integer দিয়ে আপনি অনেক গুলো সংখা নিয়ে কাজ করতে পারছেন।

permanent link

answered 06 Nov '14, 07:09

Kaiser%20Ahmed's gravatar image

Kaiser Ahmed
3.2k522

Integer হচ্ছে এক ধরনের ডাটা টাইপ যাতে পূর্ণ সংখ্যা রাখা যায়। এরকম একটা পুর্ণ সংখ্যা রাখার জন্য একটা Integer ডাটা মেমোরিতে একটা নির্দিষ্ট পরিমাণ জায়গা নেয়। মনে করি সেটা দুই বাইট, মানে ১৬ বিট। আরেকটু সহজ করে বললে, ইন্টিজারে একটা সংখ্যা রাখলে সেটা সর্বোচ্চ ১৬ ঘর দখল করতে পারবে। এখন ১৬ টা ঘর ব্যবহার করে বাইনারীতে মোট সংখ্যা লেখা যায় ৬৫৫৩৬ টা।

এখন আসা যাক Signed আর Unsigned এ। Signed Integer মানে হলো ইন্টিজার ডাটাটার সামনে + বা - সাইন বসতে পারে। অর্থাৎ সংখ্যাটা পজিটিভ বা নেগেটিভ দুটোই হতে পারে। যখন এটা হয় তখন মোট যে কয়টা সংখ্যা লেখা যায় ইন্টিজার ব্যবহার করে সেটা দুভাগে ভাগ হয়ে যায়। অর্ধেকটা চলে যায় পজিটিভের জন্য, বাকীটা নেগেটিভের জন্য। রেঞ্জটা হয় -৩২৭৬৮ থেকে ৩২৭৬৭।

আর Unsigned Integer এর সামনে কোন চিহ্ন নেই, তাই সেটা অবশ্যই পজিটিভ। তখন মোট যতগুলো লেখা যায় তার সবগুলোই পজিটিভ নম্বর লেখার জন্য ব্যবহৃত হয়। রেঞ্জঃ ০ থেকে ৬৫৫৩৫।

সহজভাবে বললে এই হচ্ছে Signed number আর Unsigned number এর বৃত্তান্ত। :)

permanent link

answered 07 Jan '15, 05:34

Zim2510's gravatar image

Zim2510
5314

  • Signed integers can be positive or negative numbers
  • Unsigned integers are positive numbers and may hold a larger value.
  • Two's complement to represent data.
permanent link

answered 30 Oct '14, 17:28

Hasan's gravatar image

Hasan
212

ISO C (C99) states the difference. The int data type is signed and has a minimum range of at least -32767 through 32767 inclusive. The actual values are given in limits.h as INT_MIN and INT_MAX respectively.

An unsigned int has a minimal range of 0 through 65535 inclusive with the actual maximum value being UINT_MAX from that same header file.

Beyond that, the standard does not mandate twos complement notation for encoding the values, that's just one of the possibilities. The three allowed types would have encodings of the following for 5 and -5 (using 16-bit data types):

twos complement     | ones complement         | sign/magnitude

5 0000 0000 0000 0101 | 0000 0000 0000 0101 | 0000 0000 0000 0101

-5 1111 1111 1111 1011 | 1111 1111 1111 1010 | 1000 0000 0000 0101 In twos complement, you get a negative of a number by inverting all bits then adding 1. In ones complement, you get a negative of a number by inverting all bits. In sign/magnitude, the top bit is the sign so you just invert that to get the negative. Note that positive values have the same encoding for all representations, only the negative values are different.

Note further that, for unsigned values, you do not need to use one of the bits for a sign. That means you get more range on the positive side (at the cost of no negative encodings, of course).

And no, 5 and -5 cannot have the same encoding regardless of which representation you use. Otherwise, there'd be no way to tell the difference.

permanent link

answered 06 Jan '15, 04:06

ishahriyar's gravatar image

ishahriyar
9519

উত্তরগুলো বাংলাতে লিখলে ভালো হয়।

(13 Jan '15, 10:34) tahmidrafi ♦♦
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:

×402
×90
×8
×1

question asked: 30 Oct '14, 17:14

question was seen: 3,084 times

last updated: 02 Feb '15, 13:55