সি ++ এ স্বাক্ষরবিহীন কীওয়ার্ড


88

স্বাক্ষরবিহীন কীওয়ার্ডটি কি সি ++ তে নির্দিষ্ট ডেটা টাইপের ডিফল্ট হয়? প্রোটোটাইপের জন্য আমি একটি ক্লাসের জন্য একটি ফাংশন লেখার চেষ্টা করছি:

unsigned Rotate(unsigned object, int count)

তবে আমি আসলে কী unsignedবোঝাতে চাইছি না । এটি কি unsigned intকিছু না কিছু হওয়া উচিত?

উত্তর:


93

উপরের লিঙ্ক থেকে :

স্বাক্ষরিত, স্বাক্ষরবিহীন, সংক্ষিপ্ত এবং লম্বা কীওয়ার্ড ব্যবহার করে এর মধ্যে বেশ কয়েকটি প্রকারের পরিবর্তন করা যেতে পারে। যখন এই ধরণের কোনও পরিবর্তনকারী নিজে থেকে ব্যবহৃত হয়, তখন ডেটা টাইপ ইন্ট ধরে নেওয়া হয়

এর অর্থ আপনি অনুমান করতে পারেন যে লেখক ইনট ব্যবহার করছেন।


এটি কি C99 এবং মিস্রা কি এটি করার অনুমতি দেয়?
এখন

42

পূর্ণসংখ্যার প্রকারগুলি:

short            -> signed short
signed short
unsigned short
int              -> signed int
signed int
unsigned int
signed           -> signed int
unsigned         -> unsigned int
long             -> signed long
signed long
unsigned long

চরের বিষয়ে সাবধানতা অবলম্বন করুন:

char  (is signed or unsigned depending on the implmentation)
signed char
unsigned char

4
@ ফিরাস: আমি জানি এটি সিতে রয়েছে mpপুর্ন কোনটি আইএসও সি 99 এর একটি অংশ বা আইএসও সি ++ এর অংশ নয়
প্রসূন সৌরভ

4
'স্বাক্ষরবিহীন' (নিজেই) ব্যবহার করে 'স্বাক্ষরবিহীন ইন্ট' প্রকারটি সি ++ তে মানক। বর্তমান মান: 7.1.5.2 [dcl.simple.type] এর একটি সারণী রয়েছে যা প্রতিটি ধরণের ঘোষণাকে ব্যবহৃত প্রকৃত ধরণের কাছে সনাক্ত করে identif এই সারণিতে 'স্বাক্ষরবিহীন' ঘোষণার থেকে 'স্বাক্ষরবিহীন ইন্ট' টাইপের চিঠিপত্র রয়েছে।
ডেভিড রদ্রিগেজ - শুক্রবার 20'10

4
নোট করুন যে চরটি স্বাক্ষরিত চর বা স্বাক্ষরবিহীন চরের সাথে অভিন্ন আচরণ রয়েছে, তবে তা যাই হোক না কেন একটি পৃথক প্রকার থেকে যায়।

@ ফিরাস: বিভাগ দেখুন: 3.9.1 মৌলিক প্রকারগুলি। প্যারাগ্রাহ 2: <উক্তি> পাঁচটি স্ট্যান্ডার্ড স্বাক্ষরিত পূর্ণসংখ্যার প্রকার রয়েছে: "স্বাক্ষরিত চর", "শর্ট ইনট", "ইনট", "লং ইনট" এবং "লং লং ইনট" </ </ quote>
মার্টিন ইয়র্ক

21

স্বাক্ষরবিহীন কীওয়ার্ডটি সি ++ তে ডেটা টাইপ করে default

হ্যাঁ, স্বাক্ষরযুক্ত এবং স্বাক্ষরবিহীন স্বতন্ত্র টাইপ স্পেসিফায়ার হিসাবেও ব্যবহার করা যেতে পারে

পূর্ণসংখ্যার ডেটা প্রকারের চর, সংক্ষিপ্ত, দীর্ঘ এবং অন্তর্গতভাবে প্রতিনিধিত্ব করার জন্য প্রয়োজনীয় সংখ্যার পরিসরের উপর নির্ভর করে স্বাক্ষরিত বা স্বাক্ষরযুক্ত হতে পারে। স্বাক্ষরযুক্ত প্রকারগুলি উভয় ধনাত্মক এবং নেতিবাচক মানগুলিকে উপস্থাপন করতে পারে, যেখানে স্বাক্ষরযুক্ত প্রকারগুলি কেবল ইতিবাচক মানগুলি (এবং শূন্য) উপস্থাপন করতে পারে।

এন বিটস সমেত একটি স্বাক্ষরবিহীন পূর্ণসংখ্যার মান 0 এবং 2 এন - 1 (যা 2 এন ভিন্ন মান) এর মধ্যে থাকতে পারে।

তবে স্বাক্ষরিত ও স্বাক্ষরযুক্ত স্বতন্ত্র টাইপ স্পেসিফায়ার হিসাবেও ব্যবহার করা যেতে পারে যার অর্থ যথাক্রমে স্বাক্ষরপ্রাপ্ত এবং স্বাক্ষরবিহীন অন্তর্ভুক্ত as নিম্নলিখিত দুটি ঘোষণা সমতুল্য:

unsigned NextYear;
unsigned int NextYear;

4
তাহলে কি এটি "হ্যাঁ" নয়? এটি কোন ধরণের ছাড়াই ব্যবহৃত হয়?
বিনোদন

ধন্যবাদ! ইংরাজী আমার প্রথম ভাষা নয় এবং আমি স্বাক্ষরবিহীন ডেটা ধরণের অর্থ নিয়ে বিভ্রান্ত হয়ে পড়েছিলাম। এতে কার স্বাক্ষর রয়েছে? এটি আমার কাছে কখনও ঘটেনি যে এটি বিশেষ্য চিহ্ন থেকে হতে পারে ...: D
user74200

কীওয়ার্ড shortএবং longএছাড়াও টাইপ সংশোধনকারীদের । আপনি লিখতে পারেন short s, যে আসলে মানে short int s, ঠিক unsigned uআসলে মানে unsigned int u। (এবং unsigned shortঅর্থ unsigned short int)
বেন ভয়েগট

8

আপনি সি ++ রেফারেন্সে স্বাক্ষরযুক্ত কীওয়ার্ডটি সম্পর্কে পড়তে পারেন ।

এই বিষয়ে দুটি ভিন্ন ধরণের রয়েছে, স্বাক্ষরিত এবং স্বাক্ষরযুক্ত। পূর্ণসংখ্যার জন্য ডিফল্ট স্বাক্ষরিত হয় যার অর্থ তাদের নেতিবাচক মান থাকতে পারে।

একটি 32-বিট সিস্টেমে একটি পূর্ণসংখ্যা 32 বিট হয় যার অর্থ এটি 4 বিলিয়ন ডলারের মান ধারণ করতে পারে।

এবং যখন এটি স্বাক্ষরিত হয়, এর অর্থ এটি আপনাকে 2-বিলিয়ন ছেড়ে +2 বিলিয়ন রেখে এটিকে বিভক্ত করতে হবে।

যখন এটি স্বাক্ষরযুক্ত নয় তবে মানটিতে কোনও নেতিবাচক সংখ্যা থাকতে পারে না , সুতরাং পূর্ণসংখ্যার জন্য এর অর্থ 0 থেকে + 4 বিলিয়ন।

উইকিপিডিয়ায় এ সম্পর্কে আরও কিছু তথ্য রয়েছে ।


4
আমি নিজে বেশিরভাগ জিনিসের জন্য গান গাইতে পছন্দ করি। মুখরোচক কার্বন ও কার্মেলাইজেশন!
সর্বনাশ

4
টাইপগুলি সম্পাদনা সম্পর্কে কীভাবে? ... "সম্পাদনা" বোতামটি এখানে কী আছে!
ফিলিপ একবার্গ

3

হ্যাঁ, এর অর্থ unsigned int। এটি ব্যবহৃত হত যে আপনি সি তে কোনও ডেটা টাইপ নির্দিষ্ট না করলে এমন অনেকগুলি জায়গা ছিল যেখানে এটি সবেমাত্র ধরে নেওয়া হয়েছিল int। এটি চেষ্টা করা হয়েছিল, উদাহরণস্বরূপ, ফাংশন রিটার্ন ধরণের।

এই ওয়ার্টটি বেশিরভাগই মুছে ফেলা হয়েছে তবে আপনি এখানে এর শেষ স্বত্বগুলির মুখোমুখি হচ্ছেন। আইএমএইচও, আপনি যে unsigned intধরণের বিভ্রান্তির সম্মুখীন হচ্ছেন তা এড়াতে কোডটি ঠিক করা উচিত ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.