স্ক্যালার বনাম আদিম ডাটা টাইপ - এগুলি কি একই জিনিস?


127

আমি বিভিন্ন প্রবন্ধে পড়েছি, কখনও কখনও আদিম তথ্য প্রকারের উল্লেখ রয়েছে এবং কখনও কখনও স্কেলারের উল্লেখ রয়েছে।

আমার প্রত্যেকের বোঝাপড়া হ'ল এগুলি হ'ল ইনট, বুলিয়ান, চর ইত্যাদির মতো সাধারণ কিছু জাতীয় উপাত্ত types

আমি কি অনুপস্থিত এমন কিছু আছে যার অর্থ আপনার নির্দিষ্ট পরিভাষা ব্যবহার করা উচিত নাকি পদগুলি কেবল বিনিময়যোগ্য? প্রত্যেকের উইকিপিডিয়া পৃষ্ঠাগুলি সুস্পষ্ট কিছু দেখায় না।

পদগুলি যদি কেবল বিনিময়যোগ্য হয় তবে কোনটি পছন্দনীয়?

উত্তর:


203

আমি মনে করি না যে তারা বিনিময়যোগ্য। এগুলি প্রায়শই একই রকম, তবে পার্থক্যটি বিদ্যমান এবং এগুলি মূলত তাদের সাথে বৈপরীত্যবাদী এবং প্রসঙ্গে প্রাসঙ্গিক বলে মনে হয় in

স্কেলারগুলি সাধারণত যৌগগুলির সাথে বিপরীত হয় যেমন অ্যারে, মানচিত্র, সেট, স্ট্রাক্ট ইত্যাদি A একটি স্কেলার হ'ল "একক" মান - পূর্ণসংখ্যা, বুলিয়ান, সম্ভবত একটি স্ট্রিং - যখন কোনও যৌগ একাধিক স্কেলারের সমন্বয়ে গঠিত হয় (এবং সম্ভবত উল্লেখগুলি উল্লেখ করা হয়) অন্যান্য যৌগিক)। "স্কেলার" প্রাসঙ্গিক ক্ষেত্রে ব্যবহৃত হয় যেখানে প্রাসঙ্গিক পার্থক্য একক / সরল / পারমাণবিক মান এবং যৌগিক মানের মধ্যে হয়।

আদিম প্রকারগুলি , উদাহরণস্বরূপ, রেফারেন্স ধরণের সাথে বিপরীত হয় এবং প্রাসঙ্গিক পার্থক্যটি যখন "এটি সরাসরি কোনও মূল্য, বা এটি আসল মূল্য ধারণ করে এমন কোনও কিছুর একটি রেফারেন্স?" হিসাবে ব্যবহৃত হয়, যেমন জাভার আদিম ধরণের বনাম রেফারেন্সগুলিতে in । আমি এটিকে স্কেলার / যৌগের চেয়ে কিছুটা নিম্ন-স্তরের পার্থক্য হিসাবে দেখছি, তবে যথেষ্ট নয়।

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


1
রেফারেন্স ধরণের এবং আদিম ধরণেরগুলি "মান" প্রকারের আলোচনায় বিবেচনা করা উচিত। স্কেলার এবং আদিমতার সমতুল্যতা সম্পর্কে, এটি ভাষার উপর নির্ভর করে। পিএইচপি ম্যানুয়াল অনুসারে, উদাহরণস্বরূপ, এর আদিম ধরণের মাত্র অর্ধেকই স্কেলার: php.net/manual/en/language.types.intro.php
জো বোবিয়ার

11
এটি আমার 8 বছর পরে সহায়তা করেছে :)
কোডারএক্সওয়াইজেড

18

এই পদগুলির প্রচুর বিভ্রান্তি এবং অপব্যবহার রয়েছে। প্রায়শই একজনকে অন্য অর্থ বোঝাতে ব্যবহৃত হয়। এই পদগুলি আসলে কী বোঝায় তা এখানে।

"নেটিভ" বলতে এমন কোনও প্রকারকে বোঝায় যেগুলি ভাষাতে অন্তর্নির্মিত হয়, যেমনটি কোনও লাইব্রেরি (এমনকি একটি স্ট্যান্ডার্ড লাইব্রেরি) সরবরাহ করার বিপরীতে, কীভাবে তা প্রয়োগ করা হয় তা নির্বিশেষে। পার্ল স্ট্রিংগুলি পার্ল ভাষার অংশ, সুতরাং সেগুলি পার্লের স্থানীয়। সি একটি লাইব্রেরী ব্যবহার করে চরগুলিতে পয়েন্টারগুলির ওপরে স্ট্রিং শব্দার্থক সরবরাহ করে, সুতরাং চর থেকে পয়েন্টারটি স্থানীয় হয়, তবে স্ট্রিংগুলি হয় না।

"পারমাণবিক" বলতে এমন এক প্রকারকে বোঝায় যা আর পচা যায় না। এটি "সম্মিলিত" এর বিপরীত । সংশ্লেষগুলি পারমাণবিক মান বা অন্যান্য সংমিশ্রণের সংমিশ্রণে পচে যেতে পারে। নেটিভ পূর্ণসংখ্যা এবং ভাসমান পয়েন্ট সংখ্যাগুলি পারমাণবিক। ভগ্নাংশ, জটিল সংখ্যা, ধারক / সংগ্রহ এবং স্ট্রিংগুলি সম্মিলিত।

"স্কেলার" - এবং এটি হ'ল বেশিরভাগ মানুষকে বিভ্রান্ত করে - এমন মানকে বোঝায় যা স্কেল প্রকাশ করতে পারে (তাই নাম) যেমন আকার, আয়তন, গণনা ইত্যাদি Inte জটিল সংখ্যা, বুলিয়ান এবং স্ট্রিংগুলি স্কেলার নয় । পারমাণবিক এমন কিছু অগত্যা স্কেলার নয় এবং এমন কিছু যা স্কেলার হয় তা অগত্যা অণু নয়। স্কেলারগুলি স্থানীয় হতে পারে বা লাইব্রেরি দ্বারা সরবরাহ করা যেতে পারে।

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

এই সংজ্ঞাগুলি ব্যবহার করা ভাষা থেকে স্বতন্ত্র।


16
যদিও স্কেলারের ধরণের এই সংজ্ঞাটি আমার কাছে সর্বাধিক অর্থবোধ করে, তবে এটি সর্বাধিক গৃহীত বলে মনে হয় না।
লিজিফ

1
'স্কেলার' এর পরিষ্কার সংজ্ঞা দেওয়ার জন্য ধন্যবাদ Thanks যদিও @ লিফাফ উল্লেখ করেছে যে বেশিরভাগ লোক এটিকে নির্দিষ্ট অর্থে ব্যবহার করে না, তারা যদি তা করে তবে এটি আরও ভাল।
ক্লক

দুর্দান্ত ভাষাগত সংজ্ঞা। এই উত্তরটি পুরো আলোচনার জন্য মাইকেল একস্ট্র্যান্ডের উত্তরের পাশাপাশি পড়তে হবে। প্রোগ্রামিং ভাষার প্রসঙ্গে, স্কেলারের বিভিন্ন অর্থ রয়েছে, দুর্ভাগ্যক্রমে।
জেরি

9

সহজ কথায় বলতে গেলে, এটি প্রদর্শিত হবে যে একটি 'স্কেলার' টাইপটি কোনও একক আইটেমকে বোঝায়, কোনও যৌগিক বা সংগ্রহের বিপরীতে। সুতরাং স্কেলারগুলির মধ্যে উভয় আদিম মান পাশাপাশি একটি এনুম মানের মতো জিনিস রয়েছে include

http://ee.hawaii.edu/~tep/EE160/Book/chap5/section2.1.3.html

সম্ভবত 'স্কেলার' শব্দটি সি'র জন্য একটি নিক্ষেপ হতে পারে:

যেখানে স্কেলারগুলি আদিম বস্তু যা একটি একক মান ধারণ করে এবং অন্যান্য সি ++ অবজেক্টের সমন্বয়ে গঠিত হয় না

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1995/N0774.pdf

আমি কি আগ্রহী এই বিষয়টি এই আইটেমগুলির 'স্কেল' এর কোনও মূল্য থাকবে কিনা তা বোঝায় কিনা? - যেমন গণনা সংখ্যা।


2
আমাকে শিখানো হয়েছিল (স্কুলে খুব দীর্ঘ সময় আগে) শব্দটি একটি 'ভেক্টর প্রসেসরের' বিপরীতে 'স্কেলার প্রসেসর' থেকে এসেছে। একটি স্কেলার প্রসেসর একটি সিপিইউ যা একবারে কেবলমাত্র এক টুকরো ডেটা পরিচালনা করতে পারে। এই প্রসেসরের গাণিতিক পদগুলির নাম / নামকরণ করা হয়েছিল are আকর্ষণীয়ভাবে যথেষ্ট, আপনি উইকিপিডিয়ায় যখন 'স্কেলার' সন্ধান করেন, আপনি 'ভেরিয়েবল'-এ পুনঃনির্দেশিত হন।
উল্টানো

2

আমি স্কট ল্যাঞ্জবার্গের উত্তরটি পছন্দ করি কারণ এটি সংক্ষিপ্ত এবং অনুমোদনের লিঙ্কগুলির দ্বারা সমর্থিত। আমি যদি পারতাম তবে স্কটের জবাবটি আমি ভোট দিয়ে দেব।

আমি মনে করি যে "আদিম" ডেটা টাইপটিকে প্রাথমিক উপাত্তের ধরণ হিসাবে বিবেচনা করা যেতে পারে যাতে মাধ্যমিক তথ্য প্রকারগুলি প্রাথমিক তথ্য প্রকার থেকে প্রাপ্ত হয়। ডাইরিভিশনটি সংমিশ্রণের মাধ্যমে যেমন সি ++ স্ট্রাক্ট। মাধ্যমিক ডেটা টাইপ পাওয়ার জন্য স্ট্রাক্ট ডেটা টাইপ (যেমন এবং ইনট এবং একটি চর) একত্রিত করতে ব্যবহার করা যেতে পারে। কাঠামো-সংজ্ঞায়িত ডেটা টাইপ সর্বদা একটি গৌণ ডেটা টাইপ। প্রাথমিক তথ্য প্রকারগুলি কোনও কিছু থেকে উদ্ভূত হয় না, বরং প্রোগ্রামিং ভাষায় এগুলি দেওয়া হয়।

আমার প্রাথমিক নামকরণের অর্থ প্রাথমিকের সমান্তরাল। সেই সমান্তরাল হ'ল "নিয়মিত অভিব্যক্তি"। আমার মনে হয় নামকরণ "নিয়মিত" "নিয়ন্ত্রক" হিসাবে বোঝা যায়। সুতরাং আপনার একটি অভিব্যক্তি যা অনুসন্ধানকে নিয়ন্ত্রণ করে।

স্কেলার ব্যুৎপত্তি ( http://www.etymonline.com/index.php?allowed_in_frame=0&search=scalar&searchmode=none ) অর্থ মই-জাতীয়। আমি মনে করি এটি যেভাবে প্রোগ্রামিংয়ের সাথে সম্পর্কিত তা হ'ল মইয়ের একটি মাত্র মাত্রা রয়েছে: মইয়ের শেষে থেকে কতগুলি রঞ্জ। একটি স্কেলার ডেটা টাইপের একটি মাত্র মাত্রা থাকে, এইভাবে এটি একটি একক মান দ্বারা উপস্থাপিত হয়।

আমি মনে করি ব্যবহারে, আদিম এবং স্কেলারটি বিনিময়যোগ্য। আদিমতার কোনও উদাহরণ আছে যা স্কেলার নয়, বা কোনও স্ক্যালারের যা আদিম নয়?

বিনিময়যোগ্য হলেও আদিম ডেটা-টাইপকে অন্যান্য ডেটা ধরণের একটি প্রাথমিক বিল্ডিং ব্লক হিসাবে বোঝায় এবং আদিম অন্যান্য ডেটা ধরণের সমন্বয়ে গঠিত হয় না।

স্কেলার এর একক মান থাকা বোঝায়। স্কেলার গাণিতিক ভেক্টরের সাথে বিপরীত হয়। কোনও ভেক্টরকে একক মান দ্বারা প্রতিনিধিত্ব করা হয় না কারণ (উদাহরণ হিসাবে এক ধরণের ভেক্টর ব্যবহার করে) ভেক্টরের দিকনির্দেশনা উপস্থাপনের জন্য একটি মান প্রয়োজন হয় এবং ভেক্টরের প্রস্থের প্রতিনিধিত্ব করার জন্য অন্য মান প্রয়োজন।

রেফারেন্স লিংক: http://phais.techtarget.com/definition/primitive http://en.wikedia.org/wiki/Primitive_data_type


0

সি-তে, গণনার ধরন, অক্ষর এবং পূর্ণসংখ্যার বিভিন্ন উপস্থাপনা স্কেলার প্রকার নামে আরও সাধারণ ধরণের শ্রেণি তৈরি করে। অতএব, আপনি যে কোনও স্কেলারের প্রকারের মানগুলিতে সম্পাদন করতে পারেন তা পূর্ণসংখ্যা হিসাবে একই।


0

নাল টাইপ হ'ল একমাত্র জিনিস যা সবচেয়ে বাস্তববাদী একটি "স্কেলারের ধরণের" সংজ্ঞা অনুসারে মেনে চলে। এমনকি 'এন' হিসাবে 'কেউ নয়' এর সিরিয়ালাইজেশন একটি 16 বিট শব্দের সাথে মানানসই যা traditionতিহ্যগতভাবে স্কেলার - বা এমন একক বিট যার একাধিক সম্ভাব্য মান রয়েছে - এটি কোনও "একক ডেটা" নয়।

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