The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
যে প্রকারগুলি দশমিক স্থান সহ সংখ্যা ধারণ করে – ফ্লোট, ডবল
এই ডেটা প্রকারগুলিকে প্রায়শই ফ্লোটিং-পয়েন্ট ডেটা টাইপ বলা হয়। সংখ্যাগুলিকে ফ্লোটিং-পয়েন্ট সংখ্যা হিসাবে উল্লেখ করা হয়।
float fvar = 50.15; ডবল dvar = 50.0;
ফ্লোটিং-পয়েন্ট ডেটা টাইপ তুলনা করুন - ফ্লোট এবং ডবল
ফ্লোট এবং ডাবল ডাটা টাইপের মধ্যে পার্থক্য হল # দশমিক স্থানের নির্ভুলতা।
VexOS – ARM 7 স্পেসিফিকেশনএর উপর ভিত্তি করে, ফ্লোট 6 বা 7টি স্থান পরিচালনা করতে পারে এবং ডাবল 15 বা 16টি হ্যান্ডেল করতে পারে।
float: বর্তমান V5os-এ, কন্ট্রোলারটি 8 দশমিক সূক্ষ্ম স্থান পর্যন্ত অনুমতি দেয় বলে মনে হয়।
যেমন
float fvar1 = 1.12345670; float fvar2 = 1.12345678;
fval1 হল fvar2 থেকে আলাদা,
বনাম
float fvar1 = 1.123456780; float fvar2 = 1.123456781;
fval1 fvar2 এর মতোই মূল্যায়ন করা হবে।
ডবল: 17 দশমিক স্থান পর্যন্ত নির্ভুলতার অনুমতি দেয়।
যেমন
ডবল dvar1 = 1.12345678912345678; ডবল dvar2 = 1.12345678912345670;
dval1 dvar2 থেকে আলাদা,
বনাম
ডবল dvar1 = 1.123456789123456789; ডবল dvar2 = 1.123456789123456780;
dval1 dvar2 এর মতোই মূল্যায়ন করা হবে।
আপনার উচ্চ নির্ভুলতা প্রয়োজন না হলে "ডবল" ব্যবহার করবেন না
আপনার উচ্চ নির্ভুলতার প্রয়োজন না হলে দুটি কারণ আপনার "ডবল" ব্যবহার করা উচিত নয়:
- এটি 2X ফ্লোট টাইপ নেয়।
- এটি অনেক বেশি প্রক্রিয়াকরণ শক্তি নেয়।
VexOS – ARM 7 স্পেসিফিকেশনএর উপর ভিত্তি করে, একটি ফ্লোট 6 বা 7টি জায়গা করতে পারে এবং একটি ডাবল 15 বা 16টি হ্যান্ডেল করতে পারে। উভয় ক্ষেত্রেই, আপনার ডবল বা ফ্লোটে শেষ সংখ্যার নির্ভুলতার উপর নির্ভর করা উচিত নয়। এটি "ফ্লোট-পয়েন্ট গণনা" (যা এই নিবন্ধের সুযোগের বাইরে) বলে কিছুর কারণে একটি "int" সংরক্ষণ করা থেকে খুব আলাদাভাবে সংরক্ষণ করা হয়।
এইভাবে, আপনি সম্ভবত শেষ কয়েক দশমিক স্থানে সঠিকতা হারাতে পারেন।
ফ্লোটিং-এর তুলনায় ডাবল অপারেশন বেশ ব্যয়বহুল, এবং ফ্লোটিং-পয়েন্ট ক্যালকুলেশন বলে কিছুর কারণে "পূর্ণসংখ্যা" থেকে অনেক বেশি।
IEEE স্ট্যান্ডার্ডের উপর ভিত্তি করে, নিম্নলিখিতগুলি আরও নির্ভরযোগ্য পরিসরের মধ্যে রয়েছে।
| টাইপ | ক্ষুদ্রতম ইতিবাচক মান | সবচেয়ে বড় ইতিবাচক মান | # যথার্থতা |
|---|---|---|---|
| ভাসা | 10 -38 x 1.17549 | 10 38 x 3.40282 | 6 সংখ্যা |
| দ্বিগুণ | 10 -308 বা 2.22507 | 10 308 x 1.79769 | 15 সংখ্যা |
আপনি কি আদিম তথ্য প্রকার বিনিময় করতে পারেন? - কাস্টিং
ডেটা টাইপ আদান-প্রদান করা সম্ভব। এই কৌশলটিকে "কাস্টিং" বলা হয়। যদিও ঢালাই একটি সাধারণ অভ্যাস, শুধুমাত্র প্রয়োজন হলেই তা করুন৷
সবচেয়ে সাধারণ অনুশীলনগুলির মধ্যে একটি হল char এবং int বিনিময় করা।
এটি কারণ তারা উভয়ই একটি ব্যতিক্রম সহ পূর্ণসংখ্যার মান উপস্থাপন করে:
- "int" 4-বাইট ধারণ করে (বা কিছু কম্পাইলারে 8-বাইট)
- "char" শুধুমাত্র 1-বাইট ধারণ করে।
সুতরাং, যেমন
char aVal = 100; int iVal = aVal; // অন্তর্নিহিত ঢালাই
বা
int iVal = (char) aVal; // স্পষ্ট কাস্টিং।
অন্তর্নিহিত ছেদনের জন্য সতর্কতা:
যেমন
আরেকটি সাধারণ অভ্যাস হল int এবং float বিনিময় করা
float fVal = 5.486; ফ্লোট ভগ্নাংশ = fVal - (int)fVal; //এটি করে: 5.486 - 5
অন্তর্নিহিত কাটার জন্য সতর্কতা:
যেমন
int iVal = 50; float fVal = iVal/100;
এখন fVal = 0.0, নয় 0.5।
অন্তর্নিহিত ছেঁটে ফেলার সুবিধা নেওয়া একেবারেই সূক্ষ্ম, যা প্রায়শই কিছু পরিস্থিতিতে অপারেশনের একটি গুরুত্বপূর্ণ অংশ। যাইহোক, আপনাকে নিশ্চিত করতে হবে যে আপনি ডিজাইনের মাধ্যমে এই কৌশলটি ব্যবহার করছেন।
আপনি যদি অন্তর্নিহিত ছেদন ঘটতে না চান তবে আপনাকে স্পষ্ট কাস্টিং করতে হবে:
- অন্তর্নিহিত কাস্টিং:
float fVal = iVal / 100.0; - স্পষ্ট কাস্টিং:
float fVal = (float) iVal / 100