আমি কীভাবে NULL এবং শূন্যের পার্থক্যটি ব্যাখ্যা করতে পারি?


59

শতাংশ পরিবর্তনের সূত্র ব্যবহার করে এমন একটি সমস্যা নিয়ে কাজ করা:

percent change =  100 * [(new value - old value) / old value]

যে প্রোগ্রামার নাও হতে পারে new value or old value = NULLতার চেয়ে আমি কীভাবে পার্থক্যটি ব্যাখ্যা করব 0?

আমার বস ভাবছেন যে কেন পাঠ্যবক্সে একটি মানের চেয়ে খালি স্ট্রিং রয়েছে, কারণ আমাদের পুরানো মান রয়েছে তবে নতুন মান নেই।


11
"আমি কীভাবে পার্থক্যটি ব্যাখ্যা করব"? কোন ভাষায়? কিছু ভাষা ব্যতিক্রম ছুঁড়ে ফেলে (বা উত্থাপন) করে। কিছু একটি নাল ফলাফল ফিরে আসবে। কিছু NUL কীভাবে প্রয়োগ করা হয় তার বিশদের উপর নির্ভর করে। আপনাকে আরও অনেক নির্দিষ্ট হতে হবে।
এস .লট

29
খালি স্ট্রিংয়ের পরিবর্তে "ডেটা অনুপলব্ধ" বলতে পাঠ্যবাক্সটি পরিবর্তন করুন।
ক্রেগ

3
@ জেডজেআর - তাই বাক্সের নীচে বার্তাটি লাল রঙে প্রদর্শন করুন। পয়েন্টটি হ'ল "NULL" বা একটি খালি স্ট্রিংয়ের কোনও UI- তে যতই ব্যবহার করা যায় তেমনি কোনও অবজেক্টের মেমরি ঠিকানা।
detly

10
সাদৃশ্য অনুসারে, 0 ডিগ্রি তাপমাত্রা এবং কোনও তাপমাত্রা পাঠ করা বিভিন্ন পরিস্থিতি নয় ...
এনডাব্লুএস

4
আমি এখনই উত্তর দিতে পারি না যে এটি সুরক্ষিত, তবে আমি সর্বদা ব্যাখ্যা করি যে NULLএটি একটি রাষ্ট্র , মান নয় - এর অর্থ আপনি মান জানেন না। এসকিউএল-এর জন্য আমি সাধারণত পার্টির উপমাটি প্রদর্শন করতে ব্যবহার করি।
জেএনকে

উত্তর:


101

একজন বসকে "শূন্য" এবং "নাল" এর মধ্যে পার্থক্য ব্যাখ্যা করতে:

"জিরো" একটি মান। এটি শূন্যের অনন্য, জ্ঞাত পরিমাণ, যা পাটিগণিত এবং অন্যান্য গণিতে অর্থবহ।

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

উদাহরণস্বরূপ, মন্তব্যগুলিতে যেমন: "আপনার বার্ষিক আয় কী?" এমন একটি প্রশ্ন যা একটি সংখ্যার উত্তর প্রয়োজন। "0" হ'ল এমন কারও পক্ষে উপযুক্ত বৈধ উত্তর যাঁর কাজ হয় না এবং যার কোনও বিনিয়োগের আয় নেই। যদি ব্যবহারকারী কোনও মান প্রবেশ করে না, তারা অগত্যা কোনও অর্থ উপার্জন করবেন না; তারা কেবল আপনার সফ্টওয়্যারটি কতটা (বা সামান্য) তৈরি করে তা বলতে চাননি। এটি অজানা, নির্দিষ্ট নয়; অতএব, সফ্টওয়্যারটি চালিয়ে যাওয়ার অনুমতি দেওয়ার জন্য, আপনি সফ্টওয়্যারটির মধ্যে সেই ডেটা ফিল্ডের জন্য "নাল" স্থানধারক নির্দিষ্ট করেন। এটি একটি ডেটা দৃষ্টিকোণ থেকে প্রযুক্তিগতভাবে বৈধ; এটি ব্যবসায়িক পর্যায়ে বৈধ কিনা তা নির্ভর করে গাণিতিক ক্রিয়াকলাপ সম্পাদনের জন্য (যেমন শুল্কের গণনা, বা সুবিধা নির্ধারনকারী চৌম্বকগুলির সাথে তুলনা করার জন্য) প্রকৃত সংখ্যাসূচক মান (এমনকি শূন্য) প্রয়োজন কিনা তা নির্ভর করে।

কম্পিউটারগুলিতে নালযুক্ত ভেরিয়েবলের কার্যত যে কোনও ক্রিয়াকলাপ নাল বা ত্রুটির শর্তের ফলে ঘটবে, কারণ যেহেতু ভেরিয়েবলের মানগুলির একটি জানা যায় না, তাই অভিব্যক্তির ফলাফলটি জানা যায় না। নালকে গণিত করার সমতুল্য হ'ল যদি আমি আপনাকে জিজ্ঞাসা করি "আমি এই মুহূর্তে কী পাঁচটি সংখ্যার কথা ভাবছি?"। আপনার পক্ষে একটি নির্দিষ্ট উত্তর দেওয়া অসম্ভব কারণ আমি যে নম্বরটি নিয়ে ভাবছি তা আপনি জানেন না। শূন্যের উপর একটি ক্রিয়াকলাপ, এটির দ্বারা বিভাজন ছাড়া, সাধারণত বৈধ হয় এবং অন্য পরিচিত, অনন্য মানটি ফিরিয়ে দেয়।


37
"স্থানধারক" একটি সহায়ক বিবরণ description যদি আপনি একটি জরিপ পরিচালনা করেন এবং "আপনার বয়স কত?" এবং কেউ যদি প্রশ্নটি এড়িয়ে যায়, তবে আপনাকে সে উত্তরটি 0 হিসাবে উপস্থাপন করা উচিত নয় That's এটি একটি (সম্ভবত মিথ্যা) ধারণা করা হচ্ছে। সঠিক উপস্থাপনা হবে NULL
নাথান লং

সুতরাং আমরা সহজেই বলতে পারি যে এনইউএল হ'ল একটি অনির্ধারিত ডেটা টাইপের স্মৃতিতে স্থানধারক ight রাইট?
ম্যাক্সুড

1
@ ম্যাক্সুড - এটি প্রোগ্রামিং ভাষার উপর নির্ভর করে। আমি একটি পূর্ণসংখ্যার ভেরিয়েবল বিবেচনা করব যা নাল হওয়ার অনুমতি দেওয়া হয়েছে (? সিনট্যাক্স ব্যবহার করে) এবং কোনও অজানা মানের জন্য নালায় সেট করা আছে। প্রত্যাশিত প্রকারটি জানা যায়, সুতরাং এটির সংজ্ঞা না দেওয়া বলতে গেলে কেউ 100% সঠিক না বলে বিবেচনা করতে পারে। এটি বলা ঠিক যে নালটির কোনও মূল্য বা প্রকার নেই। আমি ব্যক্তিগতভাবে বলব যে নাল বা NULL টাইপটি আপনার ব্যবহারের প্রসঙ্গে এবং ভাষার উপর নির্ভর করে সংজ্ঞায়িত করা হয় না। সি # তে এর অর্থ হ'ল অবজেক্টের রেফারেন্স অপরিজ্ঞাত হবে।
রামহাউন্ড

NULLexplict হয় অভাব ডেটার, এটি একটি স্থানধারক নয়, এটা একটি একক নির্জন উপস্থাপনা কোন তথ্য।

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

172

বস-স্পোক সবসময় শক্ত ...

শূন্য একটি সংখ্যা যাতে আপনি এটি দিয়ে জিনিসগুলি করতে পারেন।

নাল একটি ইউনিকর্ন। এটি বিদ্যমান নেই তাই আপনি এটি দিয়ে কিছু করতে পারবেন না।


45
ইউনিকর্নের জন্য +1! আমি অবশ্যই যুক্ত করতে হবে: খুব ভাল ব্যাখ্যা।
BЈовић

14
আমাকে আমার জিজ্ঞাসা করা শুরু করতে হতে পারে NVL(somefield,'UNICORN')
:;

11
তারপরে বস কেবল জিজ্ঞাসা করতে পারেন "কেন আমরা এটিকে 0 করি না যাতে আমরা এটি দিয়ে জিনিসগুলি করতে পারি? নাল শোনায় অকেজো।"
AlbeyAmakiir

26
@ অ্যালব্যাক আমাকির - এই জাতীয় বসের সঠিক প্রতিক্রিয়া হ'ল "আমরা যখন এমন জিনিস জানার ভান করছি যখন আমরা জানি না, কেন আমরা এটিকে 1 মিলিয়ন করব না? এটি দুর্দান্ত এবং বড়"
নাথান লং

12
আমি বিশ্বাস করতে পারি না এটি 90+ আপ-ভোট পেয়েছে। আমি আমার সমস্ত উত্তরে ইউনিকর্ন লাগানো শুরু করব।
মরনস

38

কেবল সমীকরণগুলিকে বাক্যগুলিতে পুনরায় লিখুন:

"আপনি যদি অজানা মান দিয়ে শুরু করেন এবং 150 দিয়ে শেষ করেন তবে শতাংশের পরিবর্তন কী হবে?"

এবং

"আপনি যদি 85 দিয়ে শুরু করেন এবং কিছু অজানা মান দিয়ে শেষ করেন তবে শতাংশের পরিবর্তন কী হবে ?"

অবশ্যই, উভয়ের উত্তর "এটি গণনা করা যায় না, কারণ গণনার একটি সমালোচনামূলক অংশ অনুপস্থিত।" এটাই 'নাল' এর সারমর্ম।

তারপরে শূন্যের সাথে সমতুল্য বাক্যগুলি খুঁজে বের করা সহজ হবে এবং দেখুন যে সেগুলি মৌলিকভাবে আলাদা different

"আপনি যদি 0 দিয়ে শুরু করেন এবং 150 দিয়ে শেষ করেন তবে শতাংশ পরিবর্তন কী?"

এবং

"আপনি 85 দিয়ে শুরু করে এবং 0 দিয়ে শেষ হলে শতাংশের পরিবর্তন কী?"

যদিও উত্তরগুলি অনেক অর্থ না জাগাতে পারে (জিরো সহ), কমপক্ষে এটি গণনা করা যেতে পারে । নাল দিয়ে, গণনা করাও সম্ভব নয়


2
+1 "অজানা" অবশ্যই একটি দুর্দান্ত ব্যাখ্যা এবং বাক্যে ব্যাখ্যা করা সহজ।
স্কট রিপ্পি

@ স্কটআরপি - আমি যুক্তি দিয়ে বলব যে মানটি আসলেই unknownবিদ্যমান না কারণ NULLশতাংশের ক্ষেত্রে আসলে কোনও সংখ্যাসম্য (শতাংশ) বা অন্যথায় শতাংশের মান নেই isn't
রামহাউন্ড

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

20

আপনার সাথে বসের সাথে কথা বলার সময়, কেবল 0শূন্য এবং নালার জন্য ব্যবহার করুন ?। এটি সঠিকভাবে ধারন করে যে এটির জন্য একটি স্থানধারক এর কিছু কিন্তু আপনি জানে না যে কি এটা।


? উজ্জ্বল, সহজ, এবং সাধারণ মানুষের জন্য ধারণাটি স্পষ্টভাবে জানায়।
নীলাআরও

12

এটি সম্পর্কে:

  • 0 "খালি বোতলে কত তরল থাকে?" এর উত্তর?
  • NULL "খালি বোতলটির সামগ্রী কী?" এর উত্তর?

বা আপনি যদি নিঃসন্তান মানুষটিকে কল্পনা করেন:

  • তার বাচ্চাদের সংখ্যা 0
  • তার সবচেয়ে বড় সন্তান হ'ল NULL

মূল পার্থক্যটি হ'ল 0পরিমাপযোগ্য পরিমাণ সম্পর্কে, যখন NULLঅস্তিত্ব সম্পর্কে। একটি পরিমাণ হচ্ছে, 0প্রতিনিধিত্ব করে কিছু , অর্থাত্ একটি পরিমাণ, যে হয় 0, অনেক পছন্দ করি 0.000000001পরিমান (যে প্রতিদিন জীবনের সমস্যার মধ্যে আসলে indistinguishably ঘনিষ্ঠ হয় এক প্রতিনিধিত্ব করে 0)। বিপরীতে যে কিছুইNULL প্রতিনিধিত্ব করে । আসলে কাছাকাছি কিছু নেই । যে কোনও ভেরিয়েবলের (এবং এক্সপ্রেশন) মান হয় বা কিছু somethingNULLNULL


8

আমি সর্বদা এটি সফলভাবে ব্যাখ্যা করি:

0 হল 0 নম্বর।

NULL হল নির্বান, কিছুই না, নদা, নিন্তে, অস্তিত্ব, অনুপস্থিতি।

NUL এ সংজ্ঞায়িত অ্যারিথেমেটিকাল অপারেশনগুলি সর্বদা ফল হিসাবে NULL দেয়।

... এখনও পর্যন্ত আমার জন্য কাজ করেছে।


8
NULL দুর্ভোগের সম্পূর্ণ বন্ধ? ওহো! আমি আমার কোড এ আরও ব্যবহার করতে হবে।
ক্লাদিউ

হ্যাঁ, 0 একটি সংখ্যা। নাল অনুপস্থিতি এর কোন সংখ্যা।
মাইকেল ডুরান্ট

7

আপনি কেন "NUL এর সমান মান কেন?" এই প্রশ্নটি জিজ্ঞাসা করে কেন শুরু করবেন না? এটি আপনাকে গণনা কেন অবৈধ হতে পারে তা ব্যাখ্যা করতে সহায়তা করতে পারে।

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

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

যে কোনও ক্ষেত্রে আপনি এটি চান না:

এখানে চিত্র বর্ণনা লিখুন

চিত্র উত্স


+1 টি। এই উত্তর: মানটি কেন নাল হয় তা ব্যাখ্যা করুন। আপনি যদি এটি ব্যাখ্যা করতে না পারেন তবে আপনার একটি বাগ রয়েছে।
মার্কজে

5

OldValue=Null আপনি পুরানো মান জানেন না তাই পার্থক্যটি অজানা (নাল)

OldValue=0 আপনি পুরানো মান জানেন, এটি 0, সুতরাং পার্থক্যটি অনন্ত (নাল)

যদি এই দুটিয়ের মধ্যে পার্থক্য করা গুরুত্বপূর্ণ, কেবল পুরানো মান হিসাবে সংরক্ষণ করুন PreviousValueএবং এটি কোথাও প্রদর্শন করুন।


নীচের মন্তব্যের উপর ভিত্তি করে সম্পাদনা করুন:
আমি কেবল তাকে জিজ্ঞাসা করব যে তিনি নিম্নলিখিত পরিস্থিতিতে কী করতে চান এবং এইগুলির প্রতিটি উদাহরণই তাকে দেখান। তারপরে এবং তাকে জিজ্ঞাসা করুন "আপনি এগুলির জন্য কোন মানটি প্রদর্শন করতে চান?"

এটি কোনওভাবেই কম্পিউটারের সমস্যা তৈরি করবেন না .. এটি একটি ব্যবসায়িক প্রশ্ন।


আমি মনে করি না যে আমার বস আপনি যা বলেছিলেন তা বুঝতে পারবে :)
ওও

এটি ব্যবসায়িক প্রশ্ন হিসাবে কাছে আসার জন্য +1। বস সম্ভবত বাস্তবায়নের বিষয়ে চিন্তা করে না।
অ্যালেন গোল্ড

4

আমি 'ফাঁকা' দিয়ে অনেক সাফল্য পেয়েছি।

মৌলিক বীজগণিত (বা আপনি যে প্রতীককে একটি মান নির্ধারণ করতে পারেন এমন সহজ ধারণা) বোঝে এমন লোকদের সাথে, 'ফাঁকা' মানের ধারণাটি শূন্য-মান থেকে বেশ সরল এবং পৃথক বলে মনে হয়।


4

NULL একটি মান নয়, এটির একটির অভাব। শূন্য এখনও একটি মান। (এমনকি এটি সম্পূর্ণরূপে মূল্যায়ন করা যায় না এমন ক্ষেত্রেও এটি ব্যবহার করা যেতে পারে।

উপমা অনুসারে (নন-টেকিদের বোঝানোর একটি ভাল উপায়;

if I have three apples then I subtract three apples how many apples do I have? is 0

If I have a bag of apples and I never look in the bag, how many apples do I have? is null

যদিও এই ক্ষেত্রে উভয়ের একই মান থাকতে পারে (আপনার ল্যাঙ্গেজের উপর নির্ভর করে) তারা ধারণাগতভাবে খুব আলাদা


4

সত্যই এটি আপনার বস প্রোগ্রামার কিনা প্রাসঙ্গিক নয়। বিষয়টি প্রযুক্তিগত নয়, একটি ধারণামূলক বিষয়।

আপনি একটি বৃদ্ধি পেয়েছে ধরে নিতে তাকে জিজ্ঞাসা করুন। আপনার পুরানো বেতন 175 কে, কিন্তু আপনার নতুন বেতন অজানা। তারপরে তাকে জিজ্ঞাসা করুন - আপনি কোন শতাংশ বৃদ্ধি পেয়েছেন?

যদি তিনি গাণিতিকভাবে অক্ষম হন তবে তাকে প্রসেসের মধ্য দিয়ে চলুন যতক্ষণ না তিনি দেখতে পান যে অনুপস্থিত লিঙ্কটি রয়েছে।


3

আমি কয়েন ফ্লিপ ব্যবহার করি। সত্য হ'ল মাথা, মিথ্যাটি লেজ, এবং মুদ্রাটি গোপন করার অপরটির উপরে এক হাত নুয়াল। যদি আপনি জানেন যে মুদ্রাটি প্রধান, তবে "এই মানের বিপরীতে কি?" প্রশ্নের উত্তর দেওয়া খুব সহজ। মুদ্রাটি লুকিয়ে রাখা এক হাত খুব সহজেই দেখায় যে আপনি যদি তাদের বর্তমান মানটি দেখতে চান তবে ব্যক্তি উত্তর দিতে পারে , তবে যেহেতু আপনি তা করবেন না, তারা আপনাকে কোনও উত্তর দিতে পারে না। তারা সকলেই জানেন, আপনার হাতে একটি মুদ্রাও নেই!


1

একটি ক্ষেত্রে, NULL বলে আমার কোনও ধারণা নেই; এখানে কোনও ডেটা নেই - এর ফাঁকা সমতুল্য। জিরো (0) বলছে আমি জানি এই ক্ষেত্রের মান ঠিক 0 হতে হবে, উদাহরণস্বরূপ, পূর্ণসংখ্যা যা এক নম্বরের চেয়ে এক কম।

উদাহরণস্বরূপ, আমার কাছে কাগজের একটি শীট থাকতে পারে যা আমি কম্পিউটার সিস্টেমে টাইপ করছি যা জানায় যে প্রতিটি গ্রাহকের কত howণী। গ্রাহক এ এর ​​পাওনা $ 50, গ্রাহক বি এর পাওনা $ 0, এবং গ্রাহক সি পাওনা ন্যূনাল (????), কারণ গ্রাহক সি এর পাওনা সংখ্যাটি আবার কেটে দেওয়া হয়েছিল (কেউ তার উপর একটি কালো রেখা টেনেছিল এবং এর অপঠনযোগ্য; বা তাদের একটি নোট ছিল যা বলেছিল যে তাদের বিল এখনও প্রস্তুত নয়)। আমি আরামে গ্রাহক বি $ 0 এর পাওনা বলতে পারি এবং স্বাচ্ছন্দ্যে বলতে পারি যে গ্রাহক সি এর owণী আমি জানি না। আমি গ্রাহক সি $ 0 চার্জ করতে চাই না (কারণ তারা moneyণী হতে পারে)।


1

ধরে নিই আমরা ভাষা-নির্দিষ্ট স্টাফগুলিতে প্রবেশ করি না:

#define NULL 0

পার্থক্যটি হল যে 0 হল এমন একটি সংখ্যাসূচক মান যেখানে NULL হয় না। এটি গ্রাফ পেপারের শীটে খালি ঘরের মতো। একটি ঘরে এর একটি ঘরে "0" থাকতে পারে তবে এটি খালিও থাকতে পারে। নাল এখনও মান, তবে আপনি এটিকে বিশেষ বলে মনে করেছেন। উদাহরণস্বরূপ, যদি আপনার ঘরগুলি এখন অক্ষর হয় তবে আপনি খালি ঘরটিকে একটি স্থান হিসাবে ব্যবহার করতে পারেন এবং আপনি যদি বিশেষ কেস হিসাবে কোনও চরিত্র নির্ধারণ না করেন বা তৈরি না করেন তবে একটি নাল সেলটি আর সম্ভব হয় না।

নালীর অর্থ কীভাবে ডেটা ব্যাখ্যা করা যায় তার উপর নির্ভর করে:

  • নাল ডেটা বলতে "এখনও সরবরাহ করা হয়নি" এর অর্থ হতে পারে এবং একটি প্রোগ্রাম আবার মানটি পরীক্ষা করার আগে কিছুক্ষণ অপেক্ষা করবে।
  • ডেটা শূন্য মান রাখতে সক্ষম হতে পারে না। এটি পূর্ণসংখ্যা হিসাবে কঠোরভাবে ব্যাখ্যা করা যেতে পারে এবং অ-পূর্ণসংখ্যার মানটি অসম্ভব।
  • মেমোরিতে সাধারণত, ঠিকানাটি শূন্য হিসাবে ব্যাখ্যা করা হয়, যার অর্থ এটি ব্যবহার করা যায় না।

NULL == 0আপনি যখন সি ইট আল-এ নাল পয়েন্টার নিয়ে কাজ করছেন তখন ঠিক কাজ করে। যদি আপনি আপনার নন-প্রোগ্রামার বসকে কোডটি দেখিয়ে ধারণাটি বোঝানোর চেষ্টা করছেন, আপনি এটি ভুল করছেন।
Tullo_x86

1

আমি এনভিএল চেক চালাতাম এবং প্যারামিটারগুলির মধ্যে একটি ন্যূনাল হলে আমি স্ট্রিং "এন / এ" প্রদর্শন করব (এটি ঠিক সত্য নয় বলে "0" ফিরিয়ে দেবে না!)।

এটি এমনটি যা ম্যানেজারের দৃষ্টিকোণ থেকে আরও পেশাদার দেখাবে যা আপনার কাছে বাগ রয়েছে বলে মনে হচ্ছে (আপনার অবশ্যই কোনটি নেই - তবে এটি নন-ইঞ্জিনিয়ারের দিকে তাকানোর উপায়) ।


+1 বস এবং সমস্ত ব্যবহারকারী নাল মানে কী তা বিবেচনা করে না। তারা মানটির একটি অর্থপূর্ণ ব্যাখ্যা চায়। যদি পুরানো বা নতুন মান না থাকে তবে কোনও পরিবর্তন নেই।
jqa

1

আমাদের পুরানো মান আছে, তবে নতুন মান নেই।

মনে মনে হ'ল, নতুন মূল্য না পাওয়ার অর্থ এটি অজানা; এটি পুরানো মানের সমান। আপনি সেই অনুযায়ী নালকে ব্যাখ্যা না করেই কোড করতে পারেন কারণ তার মনে এটি কখনই বাতিল হয় না।

NULLs সম্পর্কে পয়েন্টটি বিতর্ক করার পরিবর্তে, নিশ্চিত করুন যে এটি অন্যান্য সমস্যা তৈরি করে না। খুব পুরানো ডেটা থাকার কী কী আছে? যখন কেউ 0% পরিবর্তন দেখেন, তারা কি প্যানিক বোতামটি চাপান? এটি সময়ের সাথে সাথে কোনও বিশ্লেষণ বা সংঘবদ্ধতা ফেলবে?

আমি কেবল মনে করি না যে তার একটি কম্পিউটার প্রোগ্রামিং টিউটোরিয়াল দরকার, তবে এটি যদি নাল কী তা জানতেন এবং তার পরিবর্তে সঠিক প্রশ্ন জিজ্ঞাসা করলেন তবে ভাল লাগবে।


1

যদি old valueনাল হয় তবে সমীকরণের ফলাফলটি যথাযথভাবে নাল হওয়া উচিত। এটি কারণ নাল একটি সংখ্যা নয়, এর অর্থ অজানা মান। সুতরাং গণনাটি এগিয়ে যেতে পারে না।

অবশ্যই আপনার সমীকরণ ব্যর্থ হয় যদি old value = 0আপনি শূন্য দ্বারা ভাগ করতে না পারেন।

সাধারণত আপনি এই বিষয়গুলি কেস স্টেটমেন্ট দিয়ে পরিচালনা করেন যা আপনাকে যা দেখাতে চায় তার পথে নিয়ে যায়। সুতরাং আপনি যদি গণনা করতে না পারলে ফলাফলটি শূন্য হিসাবে দেখাতে চান (নাল বা শূন্যের মতো), তবে আপনি কেস স্টেটমেন্টের মতো কিছু করবেন

case when [old value] = 0 then null 
else 100 * (([old value] - [new value]) /[old value]) 
end

ব্যবহারকারীর দৃষ্টিকোণ 0 এবং NULL থেকে পুরানো মানের ক্ষেত্রে কোনও পার্থক্যের সমতুল্য হবে না (উদাহরণস্বরূপ যদি আমাকে একটি পাঠ্যবক্সে কোনও মান প্রদর্শন করতে হয়)। শতাংশ পরিবর্তনে, কোনও মান না থাকা মানে নাল বা শূন্যের সমান হতে পারে, তাই না?
ওও

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

1

অন্যান্য মানগুলির সাথে তুলনা করে নাল প্রতীকটির যান্ত্রিক দিকগুলি ব্যাখ্যা করতে অ্যানালগিতে কিছু দুর্দান্ত আলোচনা; তবে, ইউআই-তে ফলাফল যথাযথভাবে প্রকাশ করার ক্ষেত্রে ম্যানেজারের দৃষ্টিভঙ্গি থেকে এই প্রশ্নের জট, তার নির্দিষ্ট সমস্যার ক্ষেত্রে প্রয়োগিত রূপান্তরিত সূত্রের অর্থপূর্ণ সীমাটি উপস্থাপন করে, উত্তরটি আরও নির্দিষ্টভাবে দেওয়া যেতে পারে যা আমি বিশ্বাস করি।

শতাংশ পরিবর্তিত ফোরামুলুলার ক্ষেত্রে, দুটি বিষয় উপস্থাপন করা দরকার: যখন কোনও কিছু প্রথম পরিমাপ করা হয় এবং যখন কোনও নির্দিষ্ট দিকের জন্য কিছুই পরিমাপ করা হয় না।

যখন কোনও কিছু প্রথম পরিমাপ করা হয় (ওলভ্যালু === NULL), শতাংশ পরিবর্তন প্রযোজ্য নয়; এবং / স্পষ্টভাবে লক্ষ করা যায় যে এটি সেই পরিমাপ চক্রের প্রাথমিক পরিমাপ।

যখন কিছুই পরিমাপ করা হয় না (newValue === NULL), প্রকৃত ফলাফল শতাংশ পরিবর্তন আসলে শূন্যের মান (পূর্ববর্তী চক্রটিতে নন-নাল ধরে)। জিরো সাধারণত এই ক্ষেত্রে সূত্রের উপযুক্ত উত্তর Z এই সাম্প্রতিক চক্রটিতে কোনও পরিমাপ ছিল না এবং এইভাবে কোনও পরিমাপের পরিবর্তন হয়নি। এটি বোঝানো উচিত নয় যে এটি পরিবর্তন হয়নি, কেবলমাত্র সেই দিকটি সম্পর্কে কোনও পরিমাপ, রেকর্ড করা বা যোগাযোগ করা হয়নি।


0

অবশ্যই তারা "এন / এ" ফর্মটিতে রাখার ধারণাটি বোঝে যখন তাদের অর্থ "উপলব্ধ নেই"। উদাহরণস্বরূপ, এই প্রশ্নের উত্তর দিতে, "বেঞ্জামিন ফ্র্যাঙ্কলিনের বয়স কত?" উত্তর 0 এবং এন / এ স্পষ্টতই পৃথক (এবং উত্তরটি সঠিক)। একইভাবে 0 এবং NULL উত্তরগুলি পৃথক।


0
  • NULL হ'ল একটি মান অনুপস্থিত।
  • -জিরো- একটি মান এবং সেই মানটি হ'ল শূন্য-।

যদি আমাকে এই ধারণাগুলি কারও কাছে ব্যাখ্যা করতে হয় তবে আমি দুটি বাক্স আঁকতাম।

  • একটি খালি বাক্স নুলকে উপস্থাপন করবে।
  • এতে একটি শূন্য নম্বর রয়েছে এমন একটি বাক্স এতে জিরো- উপস্থাপন করবে।

0

0 এবং নাল মধ্যে পার্থক্য 0 টি ব্যালেন্স সহ একটি ব্যাংক অ্যাকাউন্ট থাকা এবং কোনও ব্যাংক অ্যাকাউন্ট না থাকার মধ্যে পার্থক্যের মতো।


-1

এটি পয়েন্টারগুলির সাথে সর্বোত্তমভাবে ব্যাখ্যা করা হয়েছে।

var a -> [0] // variable a is initialized and set to hold 0
var b -> [123asgeb0] // variable b is initialized but not set, memory is pointed to, but holds whatever was there last

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

যদি ভাষাটি নুল ভেরিয়েবলগুলি ট্র্যাক করে রাখে, তবে এটি পরিচালনা করার ক্ষেত্রে এটির বিবৃত কেস থাকবে। আইই NULL কে শূন্য হিসাবে বিবেচনা করে, ব্যতিক্রম ছুঁড়ে, ন্যাপ হিসাবে বিবেচনা করবে ইত্যাদি IE

আপনার বসের জন্য প্রদর্শন করতে, ব্যবহৃত কাগজের কয়েক টুকরো পান।

  1. 2 গ্লাস, এবং একটি সাদা আউট স্টিক নিন।
  2. পৃষ্ঠার একটি অংশ সাদা করুন এবং একটি শূন্য লিখুন
  3. তার উপরে একটি গ্লাস রাখুন (এটি ভার এ)
  4. পৃষ্ঠার অন্য বিভাগের উপরে একটি গ্লাস রাখুন (এটি var বি)

-1

এই প্রশ্নের বিভিন্ন উত্তর দিয়ে বিচার করা, এটি ইতিমধ্যে আমরা ইতিমধ্যে জানি কি সিদ্ধান্ত নেওয়া যেতে পারে: নাল অনেক জিনিস বোঝাতে পারে।

হয় এর অর্থ ডেটা হ'ল:

  • জানা যায়নি,
  • জানা যায়নি,
  • অবৈধ (যেমন পরিমাপের ত্রুটি),
  • অ্যাক্সেসযোগ্য নয় (যেমন সুরক্ষা অনুসারে),
  • বর্তমান তথ্য প্রক্রিয়াকরণের জন্য পরিচিত তবে অপ্রাসঙ্গিক হিসাবে পরিচিত
  • তথ্য অসীম (প্রায়শই ডাটাবেসে ব্যবহৃত হয়)
  • সম্ভবত আরও 10 টি বিষয় যা আমি ভেবে দেখিনি

এটির জন্য এবং অন্যান্য অনেক কারণে, এটি প্রায়শই একটি ডেটাস্ট্রাকচারকে সংজ্ঞায়িত করতে দরকারী যা নাল মানটির অর্থ (যেমন anচ্ছিক শ্রেণীর) বোঝায়।


-2

যে ব্যক্তি এটি -1 করেছে তার কোনও হাস্যরসের অনুভূতি নেই। FWIW আমি নিজে একজন আর্কিটেক্ট।

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

শূন্য কোনও কিছুর একটি নির্দিষ্ট পরিমাণ। শূন্যগুলি নালীর চেয়ে অনেক বেশি সুখী। জেরোগুলি নিছক অলস এবং ফলাফলটিতে আরও কিছু যুক্ত করে না।

বোরিংয়ের জন্য, খুব পুরানো সঠিক উত্তর নাল এসকিউএল এর স্রষ্টা, "অনুপস্থিত তথ্য এবং অগ্রহণযোগ্য তথ্য" ইএফ কোডডের উপস্থাপনা।

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

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