এটা অনুমান করা কি যুক্তিসঙ্গত যে কোনও শারীরিক পরিমাণকে অতিরিক্ত প্রবাহ বা আন্ডারফ্লো ছাড়াই 64৪-বিট পূর্ণসংখ্যার দ্বারা প্রতিনিধিত্ব করা যেতে পারে?


31

জেডিকে আসল বাইনারি অনুসন্ধান অ্যালগরিদম 32-বিট পূর্ণসংখ্যার ব্যবহার করেছে এবং যদি একটি ওভারফ্লো বাগ থাকে (low + high) > INT_MAX( http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html ) ।

যদি আমরা একই বাইনারি অনুসন্ধান অ্যালগরিদমটি (স্বাক্ষরিত) low + high-৪ -বিট ইন্টিজার ব্যবহার করে আবার লিখি তবে আমরা কী ধরে নিতে পারি যে এটি INT64_MAX অতিক্রম করবে না কারণ মেমরির 10 memory 18 বাইট থাকা শারীরিকভাবে অসম্ভব?

শারীরিক পরিমাণ উপস্থাপনের জন্য (স্বাক্ষরিত) -৪-বিট পূর্ণসংখ্যার ব্যবহার করার সময় , আন্ডারফ্লো অনুমান করা কি ওভারফ্লো ঘটতে পারে না?


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

92
সূর্যের পরমাণুর সংখ্যা আনুমানিক 1.2e57, যা 190 বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যায় ফিট করে in বৈপরীত্য দ্বারা, 64 বিট কোনও শারীরিক পরিমাণ উপস্থাপনের জন্য যথেষ্ট বড় হতে পারে না

6
আপনার প্রশ্নের শিরোনাম বিভ্রান্তিকর। আপনার জিজ্ঞাসা করা উচিত "এমন কি পরিমাণ আছে যেগুলির জন্য 2 orted 64 এর চেয়ে বড় আকারের সাজানো অ্যারে ব্যবহার করে কোনও অ্যাপ্লিকেশন আশা করতে পারে?"
ডক ব্রাউন

7
বা আপনি এই মন্তব্যটি পড়া শুরু করার পরে ইয়োকটোসেকেন্ডের সংখ্যা।
Jodrell

4
এমন একটি সময় ছিল যখন প্রত্যেকে ভেবেছিল যে কখনও কখনও 2 ^ 32 কম্পিউটার একে অপরের সাথে সংযুক্ত থাকে না। আপনি চান না যে আপনার পরমাণুগুলি NAT ব্যবহার করবে, তাই না?
সেবব

উত্তর:


58

সংক্ষিপ্ত উত্তর হলো 'না'। তবে কিছু অ্যাপ্লিকেশনগুলির জন্য আপনার অনুমানটি সঠিক হতে পারে।

কিছু স্বচ্ছতার জন্য কমা যুক্ত করে একটি স্বাক্ষরিত ইনট, 2 ^ 63, ধরে নিচ্ছি = 9,223,372,036,854,775,808। সুতরাং এটি প্রায় 9 * 10 ^ 18। 10 ^ 18 একটি "এক্সা"।

উইকিপিডিয়া বলেছে, "২০১৩ সালের হিসাবে ওয়ার্ল্ড ওয়াইড ওয়েবের সংখ্যা ৪ টি জেটটাবাইটে পৌঁছেছে বলে অনুমান করা হচ্ছে। [12]", যা ৪০০০ এক্সাবাইট। সুতরাং, ডাব্লুডাব্লুডাব্লু 2 ^ 63 বাইটের চেয়ে প্রায় 400 গুণ বড়

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

অন্য উদাহরণের জন্য, দূরবর্তী ছায়াপথগুলি বিবেচনা করুন। অ্যান্ড্রোমিডা গ্যালাক্সি আসলে নিকটতমগুলির মধ্যে একটি, এবং এটি 2.5 * 10 ^ 6 আলোকবর্ষ দূরে। যদি আপনার ইউনিটগুলি মাইল হয় তবে এটি 14.5 * 10 ^ 18 হতে পারে, যা 64 বিট স্বাক্ষরিত পূর্ণসংখ্যার চেয়ে বেশি। এখন, স্পষ্টতই এটি আপনার পরিমাপের জন্য আপনি যে ইউনিটগুলি ব্যবহার করেন তার উপর নির্ভর করে তবে কিছু গ্যালাক্সিগুলি অ্যান্ড্রোমডিয়ার চেয়ে অনেক দূরে। ( সবচেয়ে দূরে পরিচিত এটি 13 * 10 ^ 9 LY দূরে )) আপনার পরিমাপের জন্য আপনি যে নির্ভুলতা চান তার উপর নির্ভর করে এটি একটি 64 বিট পূর্ণসংখ্যার উপচে পড়তে পারে।

( যুক্ত ) হ্যাঁ, মাইলগুলি জ্যোতির্বিদ্যার দূরত্বের জন্য একটি লস একক। আরও সাধারণ ইউনিট একটি জ্যোতির্বিদ্যা ইউনিট হতে পারে , প্রায় 93 মিলিয়ন মাইল। পরিমাপের সেই এককটি ব্যবহার করে, সর্বাধিক পরিচিত গ্যালাক্সিটি প্রায় 10 ^ 15 এউ (যদি আমার গণিতটি ঠিক থাকে) হয়, যা bit৪ বিট অন্তর্নিহিত হবে। তবে, আপনি যদি চাঁদের দূরত্বটি কাছাকাছি প্রদক্ষিণের উপগ্রহের সাথেও পরিমাপ করতে চেয়েছিলেন তবে সেই ইউনিটটি খুব বড়।

ইলেক্ট্রনিক্স থেকে আরও একটি উদাহরণ: ফ্যারাড (এফ), ক্যাপাসিট্যান্সের একক । বড় ক্যাপাসিটারগুলি 5kF অবধি থাকে। হাইব্রিড গাড়ি, "স্মার্ট গ্রিড" ইত্যাদি উন্নত হওয়ার সাথে সাথে এই সংখ্যাটি সময়ের সাথে সাথে সম্ভবত বাড়বে। একবার ক্যাপাসিট্যান্সকে 10 ^ -18 F এর মতো ছোট আকারে পরিমাপ করতে পারে So সুতরাং "রিয়েল" ক্যাপাসিট্যান্সের সামগ্রিক পরিসরটি আজ আমরা পরিমাপ করতে পারি 5 10 10 ^ 21, একটি 64 বিট পূর্ণসংখ্যার চেয়ে বড়।


3
এগুলি সবই সত্য, তবে ব্যবহারিক দৃষ্টিকোণে আমরা মাইল দূরে আকাশগঙ্গা থেকে অ্যান্ড্রোমাদার গ্যালাক্সি দূরত্ব (যেখানে রেফারেন্সের বিন্দুটি ঠিক?) বা সম্পূর্ণ ডাব্লুডাব্লুডু বাইটে (এই নির্ভুলতার সাথে, এটি প্রতি মিলিসেকেন্ডে পরিবর্তিত হয়)
জীবন

45
@ জিভান ব্যবহারিক দৃষ্টিকোণে আমি কোনও কারণ দেখতে পাচ্ছি না যে আপনাকে কখনই 640 কেবি মেমরির বেশি সম্বোধনের প্রয়োজন হবে। আপনার প্রয়োজনের তুলনায় অবশ্যই এটির বেশি।
আরটিস

2
মাইলের মধ্যে জ্যোতির্বিজ্ঞানীয় দূরত্বগুলি পরিমাপ করার ক্ষেত্রে আরও একটি অপূর্ণতা: আপনি একটি বিড়ালের সাথে সাফল্যের জন্য দায়বদ্ধ।
উইলিয়াম টটল্যান্ড

2
@ জিভান গুড পয়েন্ট এটি আমাকে রিচার্ড ফেনম্যানের মনে করিয়ে দেয় একদল তারার তাপমাত্রা সংশ্লেষণের বুদ্ধি সম্পর্কে nting আমি দেখছি আপনি কেন গড়, সর্বনিম্ন, সর্বোচ্চ, তবে যোগফলটি চান? শারীরিক তাৎপর্য কি?
পিজিও

6
@ পিজিও - স্বীকৃত হিসাবে গড়টি গণনা করার সময় যোগফলটি কার্যকর হয়।
স্কট হুইটলক

20

সংযোজকরা জড়িত থাকাকালীন আপনাকে মহাজাগতিকতেও যাওয়ার দরকার নেই। ব্রিজের খেলায় 2 ^ 95 টি সম্ভাব্য চুক্তি রয়েছে এবং এটি জটিলতার ছোট দিকে।


কেউ ভাবতে পারে যে এটি যদি "শারীরিক পরিমাণ" হিসাবে গণনা করা হয়।
পল ড্রাগার

2
অন্যদিকে, রসায়ন বা গণিতে জড়িত সমন্বয়কারীরা "শারীরিক" হিসাবে যোগ্যতা অর্জন করবে।
রোবং

@ পলড্রাপার যদি জমিতে লেকের জন্য পর্যাপ্ত পরিমাণে ডেকে কার্ড পেয়ে থাকেন তবে এই সমস্ত চুক্তিটি শারীরিক হবে। তারপরে আপনি আরও 2 ^ 95 কার্ড জড়িত থাকতে চান।
ব্র্যাড

1
@ ব্র্যাড, আমি মনে করি ওপি এমন একটি পরিমাণের জন্য জিজ্ঞাসা করছে যা "বিদ্যমান" (ঠিক আছে, অস্তিত্বটি একটি অস্পষ্ট ধারণা)। গাণিতিক ধারণাটি পূরণ করে এমন 2 ^ 95 কার্ডের অস্তিত্ব নেই (গিনেস যদি তারা করেন তবে কল করুন)। "গণনা" কী এবং কী না তা বলা শক্ত। এই উত্তরটি কেবল শারীরিক পরিমাণ সম্পর্কে আমার স্কুইশি ধারণাটি পূরণ করে না।
পল ড্রাগার

17

আপনার প্রশ্নের জন্য সবচেয়ে প্রাসঙ্গিক শারীরিক পরিমাণ হ'ল কম্পিউটার র‌্যাম

উইন্ডোজ সার্ভার 2012 4 টিবি অবধি শারীরিক মেমরি সমর্থন করে । এটি 2 42 বাইট। যদি র‌্যামের ক্ষমতাগুলি প্রতি বছর প্রায় দ্বিগুণ অব্যাহত থাকে, তবে এখন থেকে মাত্র 17 বছরে "উইন্ডোজ সার্ভার 2032" শারীরিক মেমরির 2 62 বাইট সমর্থন করবে , সেই সময়ে আপনার low + high2 63 - 2 এ পৌঁছে যাবে এবং সর্বাধিক স্বাক্ষরিত 64৪-বিট পূর্ণসংখ্যার চুম্বন করবে।

আমি আশা করি কোনও সুরক্ষা-সমালোচনামূলক সিস্টেম ব্যর্থ হয় না, 64৪ বিট ধরে সর্বদা যথেষ্ট হবে।

সামান্য আরও সাধারণ ব্যবহারের জন্য, সবচেয়ে প্রাসঙ্গিক শারীরিক পরিমাণ মেমরি অ্যাড্রেস স্পেস । (শারীরিক মেমোরির তুলনায় অনেক বড় ঠিকানা জায়গাগুলি ব্যবহার করা দরকারী, উদাহরণস্বরূপ অনেকগুলি বাড়ার জন্য মেমরিটিতে অনেক স্ট্যাক রাখা।) বর্তমান x86-64 বাস্তবায়নগুলি 48 বিট ভার্চুয়াল ঠিকানা সমর্থন করে, তাই আমাদের এই সিপিইউগুলিতে পৌঁছানোর মাত্র 14 বছর আগে 2 62 বাইট অ্যাড্রেস-স্পেস সীমা।

এবং তারপরে ভাগ করা মেমরি বিতরণ করা হয়েছে "যেখানে (শারীরিকভাবে পৃথক) স্মৃতিগুলি এক (যুক্তিযুক্তভাবে ভাগ করা) ঠিকানা স্থান হিসাবে সম্বোধন করা যেতে পারে"।


4
+1 আপনার উত্তরটি প্রায় ঠিক সঠিক, ব্যতীত আজকের নির্দিষ্ট কিছু সফ্টওয়্যার ইতিমধ্যে 0xFFFFFFFFxxxxxxxx(যেমন উচ্চতর অর্ধেক ) রেঞ্জের মেমরির ঠিকানাগুলির মুখোমুখি হয় , উদাহরণস্বরূপ অপারেটিং সিস্টেম বা ডিভাইস ড্রাইভারদের।
রবিং

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

1
@ জোশুয়া: বর্তমান প্রযুক্তির সাথে (32 জিবি ডিডিআর 4) হালকা ভ্রমণের জন্য 7 মি বা 23 এনএস হবে, যা আধুনিক সিএএস বিলম্বের সাথে পুরোপুরি খাপ খায়। আপনি যদি ল্যান্ডাউয়ারের নীতিটিকে চূড়ান্ত দিকে ঠেলে দেন তবে সিলিকনের ঘনত্বের সাথে আপনি শারীরিক সীমাবদ্ধতার জন্য 31 এনএম বা 10 ^ -16 সেকেন্ড পান। এটি খুব পাগল বলে মনে হচ্ছে না ... ভাল, সম্ভবত কিছুটা।
চার্লস

3
@ জোশুয়া এটি একটি প্রযুক্তিগত সীমা, কোনও শারীরিক নয়। (হিসাবে, সমস্যাটি হ'ল আমরা এটি ব্যবহারিকভাবে কীভাবে করব তা জানি না, এমন কোনও শারীরিক আইন এটি নিষিদ্ধ করে না)) সুতরাং, এই সপ্তাহে প্রাসঙ্গিক হওয়ার সাথে সাথে এটি কোনও নতুন অগ্রগতির সাথে যে কোনও মুহুর্তে পরিবর্তিত হতে পারে। Or০ বা তাই বছর আগে, লোকেরা আপনার মতামতগুলি খুব কমই তৈরি করত, প্রায় 50 কিলোবাইট মেমরি র‌্যাম হিসাবে বিবেচিত হয়েছিল, সেই কারণে যে হাতের ক্ষত তারের কয়েলগুলি তখন মেমরির কোরের অংশ হিসাবে ব্যবহৃত হয় কেবল কেবল এত ছোট এবং এখনও পাওয়া যায় না on ফাংশন, তবে EM ক্রসস্টালক এড়াতে তাদের মধ্যে স্থান প্রয়োজন।
ম্যাথু নাজমন

2
আমার মনে আছে যখন 24 বিট ঠিকানা স্পেস (16 মেগাবাইট) কারওর প্রয়োজনের চেয়ে বেশি ছিল - বা সামর্থ্য রাখতে সক্ষম হবে। :-)
বব জার্ভিস - মনিকা

10

এটা অনুমান করা কি যুক্তিসঙ্গত যে কোনও শারীরিক পরিমাণকে অতিরিক্ত প্রবাহ বা আন্ডারফ্লো ছাড়াই 64৪-বিট পূর্ণসংখ্যার দ্বারা প্রতিনিধিত্ব করা যেতে পারে?

বেপারটা এমন না. এখানে প্রচুর সংখ্যা রয়েছে যা এর চেয়ে বড় এবং ছোট উভয়ই, তাই আমাদের ভাসমান পয়েন্ট সংখ্যা রয়েছে। ফ্লোটিং পয়েন্ট নম্বরগুলি আরও ভাল পরিসরের জন্য কম নির্ভুলতার সাথে ব্যবসা করে।

আপনি যে নির্দিষ্ট উদাহরণটি উদ্ধৃত করেছেন তাতে আপনার পক্ষে এর চেয়ে বড় যে কোনও সংখ্যার প্রয়োজন হবে তার পক্ষে খুব বেশি সম্ভাবনা নেই। 64 বিট প্রায় 18 কুইন্টিলিয়ন উপাদানগুলির সাথে সমান। তবে কখনও বলবেন না।


7

আপনার অনুমানটি এমন ভৌত পরিমাণকে পরিচালনা করবে না যা কেবলমাত্র ভাসমান পয়েন্ট সংখ্যা দ্বারা প্রতিনিধিত্ব করা যায়। এমনকি আপনি যদি সমস্ত সংখ্যা স্কেল করার সিদ্ধান্ত নিয়েছেন, সমস্ত সংখ্যাকে 10000 দ্বারা গুণ করে বলুন (সুতরাং মানগুলি এখনও পূর্ণসংখ্যা হয় তবে দশ-হাজারে উপস্থাপিত হতে পারে), এই স্কিমটি এখনও শূন্যের খুব কাছে সংখ্যার জন্য ব্যর্থ হয়, উদাহরণস্বরূপ, বৈদ্যুতিন ভর (9.1094 * 10⎻³¹ কেজি)।

এটি একটি আসল (এবং অত্যন্ত স্বল্প) দৈহিক পরিমাণ , এখানে আরও কিছু সমস্যা রয়েছে যা আপনি সমস্যায় পড়তে চলেছেন। এবং যদি আপনি তর্ক করেন যে এটি কোনও আসল শারীরিক পরিমাণ নয় (যদিও এটি কেজিতে রয়েছে), বিবেচনা করুন:

10 kg (obviously physical quantity)
1 kg (same)
10⎻² kg (1/100 kg, or about 1/3 ounce) (also quite real)

সুতরাং আপনি দেখতে পারেন আমি এই যেখানে যাচ্ছি। শেষটি আপনি পরিচালনা করতে পারবেন না।

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


1
তবে আপনি ন্যূনতম শারীরিক মান নির্ধারণ করতে পারেন (আইআইআরসি, ভর জন্য এটি ছিল 1 ইলেক্ট্রন-ভোল্টের সমতুল্য ভর)) উদাহরণস্বরূপ, আপনি প্ল্যাঙ্ক দৈর্ঘ্যের একক (আইআইআরসি) 200 সংখ্যার সাহায্যে মহাবিশ্বের দৈর্ঘ্য পরিমাপ করতে পারবেন। আপনি মানসিকভাবে প্ল্যাঙ্ক দৈর্ঘ্যের 1/10 সম্পর্কে কথা বলতে পারেন , তবে শারীরিকভাবে এটির কোনও ধারণা নেই।
এসজুয়ান 76

আপনি 10000 দ্বারা বিভক্ত মানে না? 10000 দিয়ে গুণ করলে থ্রেড ওপেনার থেকে অনুমানটি ব্যর্থ হওয়ার সম্ভাবনা তৈরি হবে। এছাড়াও সম্ভবত আমার ডিভাইসটি সঠিকভাবে বৈদ্যুতিনের ভর প্রদর্শন করে না তবে এটি 10 ​​^ -31 হওয়া উচিত
মাইক

আমার অর্থ 10000 দ্বারা গুণা উচিত you । ফায়ারফক্সে ঠিক আছে।
tcrosley

@ এসজুয়ান 7676 এখানে ভবিষ্যত-প্রুফিং বলে কিছু আছে। 1850 সালে, আমরা 10 ^ -20 মিটার (একটি পরমাণুর তুলনায় অনেক ছোট, তবে প্ল্যাঙ্ক দৈর্ঘ্যের তুলনায় অনেক বড়) এর একক সম্পর্কে কথা বলতে পারি, তবে শারীরিকভাবে, এটি করার কোনও অর্থ হয়নি। তারপরে লোকেরা একটি পরমাণুর অভ্যন্তরীণ কাঠামো বের করে ফেলল। অবশ্যই, কোয়ার্কগুলি মৌলিক দেখায় , তবে আমরা সত্যিই বলতে পারি যে (ক) আমরা মৌলিক কণাগুলি কীভাবে আচরণের প্রত্যাশা করে তার সাথে সামঞ্জস্যপূর্ণ আচরণ করে এবং (খ) আমরা পরবর্তী কোনও কচ্ছপ খুঁজে পাইনি। 1850 সালে, আমরা পরমাণু সম্পর্কে একই দুটি জিনিস বলতে পারি। আমরা যদি পরবর্তী কচ্ছপ খুঁজে পাই তবে 1/10 প্ল্যানকের ইউনিটগুলি বেশ কার্যকর হয়ে যায় ।
ম্যাথু নাজমন

এটি একটি সাধারণ ভুল ধারণা যে স্থান বা সময় প্ল্যাঙ্ক ইউনিটগুলিতে পরিমাণযুক্ত হয়! আপনি একটি 4-মাত্রিক অ্যারে দ্বারা মহাবিশ্ব উপস্থাপন করতে পারেন না অন্তত বর্তমান তত্ত্ব মধ্যে নেই ... তাই প্লাঙ্ক লেন্থ ভগ্নাংশ হয় শারীরিকভাবে অর্থপূর্ণ (কিন্তু ফলাফল যে সাধারণ আপেক্ষিকতা এবং / অথবা QM বাইরে আসতে আপ ফুঁ শুরু করলে বা একে অপরের বিরোধিতা)।
ইয়তিমা 2975

5

প্রথমে আমি এই প্রশ্নের উত্তর দেব যে কোন পূর্ণসংখ্যা দ্বারা শারীরিক মানগুলি / উপস্থাপন করা উচিত?

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

তাহলে শারীরিক মানগুলি কী কী যে প্রাকৃতিক সংখ্যা এবং তারা 64 বিট পূর্ণসংখ্যাকে উপচে ফেলতে পারে?

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

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


প্রাকৃতিক সংখ্যার সেট এন-এ কেবল অ-নেতিবাচক পূর্ণসংখ্যার অন্তর্ভুক্ত। আপনি কী বলতে চেয়েছিলেন তা আমি জানি তবে আপনি কীভাবে এটি ব্যবহার করছেন তার সাথে "প্রাকৃতিক সংখ্যা" এর একটি নির্দিষ্ট গাণিতিক সংজ্ঞা রয়েছে।

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

যদিও সঞ্চিত তথ্যের দৈহিকতা বিতর্কযোগ্য এবং পদার্থবিজ্ঞানীদের চেয়ে দার্শনিকদের কাছে একটি প্রশ্ন, এটি যে প্রক্রিয়াগুলি দ্বারা সংরক্ষণ করা হয়েছে তার দৈহিকতা যথেষ্ট নিশ্চিত। সুতরাং, বেশ কয়েকটি বিটের তথ্যের প্রয়োগযোগ্যতা প্রশ্নবিদ্ধ হলেও , র‍্যাম চিপসের মূল্য বিটের সংখ্যা নয় of
ম্যাথু নাজমন

@ ম্যাথিউ নাজমন অবশ্যই, আমি একমত, তাই আমি শেষ বাক্যটি রেখেছি left র‌্যাম চিপের বিটের সংখ্যা বেশ কিছু সময়ের জন্য পরমাণুর সংখ্যার চেয়ে কম হবে, যাতে আপনি পরবর্তীটি ব্যবহার করতে পারেন। অন্য কথায় বিট সংখ্যা কেন ব্যবহার করবেন, যখন আপনি একই র‌্যাম চিপের অণু সংখ্যা ব্যবহার করতে পারেন? বর্তমানে কিছু তথ্য এমন একটি রাষ্ট্রের দ্বারা প্রতিনিধিত্ব করে যা একটি শারীরিক ব্যবস্থা রয়েছে, সুতরাং আপনি পরমাণুতে এক বিটেরও বেশি সঞ্চয় করতে পারতেন, তবে এটি আজকাল প্রয়োগ থেকে অনেক দূরে, এবং আমি এখনও দেখতে পাচ্ছি না যে এটি সংখ্যার চেয়ে আরও কীভাবে হতে পারে I যেমন সিস্টেমের কোয়ান্টাম রাজ্য। তবে আমি আপনার পূর্বসূরীর সাথে সম্পূর্ণ একমত
luk32

4

জেরি 101 এর উত্তর ছাড়াও, আমি নির্ভুলতার জন্য এটি খুব সাধারণ এবং ব্যবহারিক পরীক্ষার প্রস্তাব করতে চাই:

ধরুন আপনি mallocএকটি 64-বিট ওএসের মাধ্যমে কিছু মেমরি বরাদ্দ করেছেন । ধরা যাক মেমরির বরাদ্দকারী আপনার অনুরোধের আকারের একটি বৈধ মেমরি ব্লক আপনাকে ফিরিয়ে দেওয়ার সিদ্ধান্ত নিয়েছে, তবে যেখানে where৩-তম বিট সেট করা আছে।

অন্য কথায়, ধরা যাক এমন কিছু প্রোগ্রামিং এনভায়রনমেন্ট রয়েছে যেখানে 0xFFFFFFFFxxxxxxxxবৈধ মেমরি রেঞ্জগুলি কল থেকে ফিরে আসতে পারে malloc

প্রশ্নটি হল, আপনার কোডটি এখনও ইচ্ছামত কাজ করবে?

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

ভাগ্যক্রমে, এই পরিস্থিতিটি কিছু সময়ের জন্য -৪-বিট প্রোগ্রামের জন্য হওয়ার সম্ভাবনা খুব কম, কমপক্ষে এক দশকে নয়।

যখন পরিস্থিতি শেষ অবধি ঘটে, এর অর্থ হল যে সেই সময়ের মধ্যে 128-বিট অ্যাড্রেসযোগ্য প্রসেসর এবং অপারেটিং সিস্টেমগুলি মূলধারায় পরিণত হয়ে গিয়েছিল এবং তারা "লিগ্যাসি অ্যাপ্লিকেশনগুলি" পরিচালনা করতে "64-বিট এমুলেশন পরিবেশ" সরবরাহ করতে সক্ষম হবে that আজকের -৪-বিট অপারেটিং সিস্টেমের মতো অনুমানের অধীনে।

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


4

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

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

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


2

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

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


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

0

এটা মনে করা অযৌক্তিক যে কোনও 64 বিট পূর্ণসংখ্যা সমস্ত সংখ্যা ধরে রাখতে পারে। একাধিক কারণ:

  1. সর্বাধিক এবং ন্যূনতম 64 বিট পূর্ণসংখ্যা সীমাবদ্ধ সংখ্যা। প্রতিটি সীমাবদ্ধ সংখ্যার জন্য একটি বৃহত্তর এবং ছোট সীমাবদ্ধ নম্বর বিদ্যমান।

  2. 128 বিট এবং 256 বিট সংখ্যা সহ গণনা বর্তমানে বিভিন্ন জায়গায় ব্যবহৃত হয়। অনেক প্রসেসরের নির্দিষ্ট নির্দেশাবলী রয়েছে যা 128 বিট পূর্ণসংখ্যার সাথে কাজ করে।

  3. 20 বছর আগে, 1 জিবি ডিস্কটিকে "বৃহত" হিসাবে বিবেচনা করা হত। আজ একটি 1 টিবি ডিস্ক ছোট হিসাবে বিবেচিত হয়। 20 বছর আগে গড় ডেস্কটপগুলিতে প্রায় 16 এমবি র‌্যাম ছিল। আমার বর্তমান ডেস্কটপে 16 গিগাবাইটেরও বেশি র‌্যাম রয়েছে। হার্ডডিস্ক স্পেস এবং র‌্যাম অতীতে তাত্পর্যপূর্ণভাবে বেড়েছে এবং ভবিষ্যতে এটি তাত্পর্যপূর্ণভাবে বৃদ্ধি পাওয়ার পূর্বাভাস রয়েছে। যদি কারও কাছে এটির বৃদ্ধি কেন বন্ধ করা উচিত তার খুব ভাল কারণ নিয়ে আসতে না পারলে এটি বন্ধ হয়ে যাবে বলে ধরে নেওয়া কোনও মানে হয় না।

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