Decimal data type
કેટલીક પ્રોગ્રામિંગ ભાષાઓ (અથવા તેમના માટે કમ્પાઇલર્સ) ગોળાકાર વગર 0.3 અને-1.1 જેવા બિન-પુનરાવર્તિત દશાંશ અપૂર્ણાંકોને રજૂ કરવા અને તેમના પર અંકગણિત કરવા માટે બિલ્ટ-ઇન (આદિમ) અથવા લાઇબ્રેરી દશાંશ ડેટા પ્રકાર પ્રદાન કરે છે. ઉદાહરણોમાં પાયથોનનો decimal.Decimal પ્રકાર અને અન્ય ભાષાઓ દ્વારા પૂરા પાડવામાં આવેલ સમાન પ્રકારો છે. તર્કસંગત અપૂર્ણાંક સંખ્યાઓ મોટાભાગની પ્રોગ્રામિંગ ભાષાઓમાં ફ્લોટિંગ-પોઇન્ટ નંબરો અથવા ફિક્સ્ડ-પોઇન્ટ નંબરો તરીકે સપોર્ટેડ છે. જો કે, આવી રજૂઆતો સામાન્ય રીતે છેદને બેની શક્તિ સુધી મર્યાદિત કરે છે. મોટાભાગના દશાંશ અપૂર્ણાંકો (અથવા સામાન્ય રીતે મોટાભાગના અપૂર્ણાંકો) ને બે ઘાત ધરાવતા છેદ સાથે અપૂર્ણાંક તરીકે બરાબર રજૂ કરી શકાતા નથી. ઉદાહરણ તરીકે, સરળ દશાંશ અપૂર્ણાંક 0.3 (3/10) ને 5404319552844595/18014398509481984 (0.299999999999999988897769.) તરીકે રજૂ કરી શકાય છે. આ અચોક્કસતા અનુભવી પ્રોગ્રામરો માટે પરિચિત ઘણી સમસ્યાઓનું કારણ બને છે. ઉદાહરણ તરીકે, દશાંશની રજૂઆતની અચોક્કસતાને કારણે કેટલીક પ્રણાલીઓમાં અભિવ્યક્તિ 0.1 * 7 = = 0.7 ખોટી હોવાનું પ્રતિકૂળ મૂલ્યાંકન કરી શકે છે. જો કે તમામ દશાંશ અપૂર્ણાંકો અપૂર્ણાંકો છે, અને તેથી તેને બરાબર રજૂ કરવા માટે તર્કસંગત માહિતી પ્રકારનો ઉપયોગ કરવો શક્ય છે, ઘણી પરિસ્થિતિઓમાં માત્ર બિન-પુનરાવર્તિત દશાંશ અપૂર્ણાંકોને ધ્યાનમાં લેવું વધુ અનુકૂળ હોઈ શકે છે (અપૂર્ણાંકો કે જેમનો છેદ દસની ઘાત છે). ઉદાહરણ તરીકે, વિશ્વભરમાં ચલણના અપૂર્ણાંક એકમો મોટે ભાગે છેદ પર આધારિત હોય છે જે દસની ઘાત હોય છે. ઉપરાંત, વિજ્ઞાનમાં મોટાભાગના અપૂર્ણાંક માપનને દશાંશ અપૂર્ણાંક તરીકે નોંધવામાં આવે છે, જે છેદની અન્ય કોઈપણ પ્રણાલી સાથેના અપૂર્ણાંકથી વિપરીત છે. દશાંશ માહિતી પ્રકારને ફ્લોટિંગ-પોઇન્ટ નંબર તરીકે અથવા ફિક્સ્ડ-પોઇન્ટ નંબર તરીકે લાગુ કરી શકાય છે. નિશ્ચિત-બિંદુના કિસ્સામાં, છેદને દસની નિશ્ચિત ઘાત પર સેટ કરવામાં આવશે. ફ્લોટિંગ-પોઇન્ટના કિસ્સામાં, ચલ ઘાતાંક દસની શક્તિનું પ્રતિનિધિત્વ કરશે જેમાં સંખ્યાના મેન્ટિસાનો ગુણાકાર કરવામાં આવે છે. તર્કસંગત ડેટા પ્રકારને ટેકો આપતી ભાષાઓ સામાન્ય રીતે બેઝ-2 ફ્લોટિંગ-પોઇન્ટ નંબરને બદલે બે પૂર્ણાંકોમાંથી આવા મૂલ્યના નિર્માણને મંજૂરી આપે છે, કારણ કે બાદમાં ચોક્કસતા ગુમાવવી પડે છે. સામાન્ય રીતે મૂળભૂત અંકગણિત કામગીરીઓ ('+', '−', '×', '/', પૂર્ણાંક શક્તિઓ) અને સરખામણીઓ ('=', '<', '>', '≤') તેમના પર કાર્ય કરવા માટે વિસ્તૃત કરવામાં આવશે-ક્યાં તો મૂળ રૂપે અથવા ભાષા દ્વારા પૂરી પાડવામાં આવતી ઓપરેટર ઓવરલોડિંગ સુવિધાઓ દ્વારા. આ કામગીરીઓને કમ્પાઇલર દ્વારા પૂર્ણાંક મશીન સૂચનાઓના ક્રમમાં અથવા લાઇબ્રેરી કૉલ્સમાં અનુવાદિત કરી શકાય છે. આધાર અન્ય કામગીરીઓ સુધી પણ વિસ્તરી શકે છે, જેમ કે ફોર્મેટિંગ, પૂર્ણાંક અથવા ફ્લોટિંગ પોઇન્ટ મૂલ્ય પર ગોળાકાર, વગેરે. આનું ઉદાહરણ છે 123.456 પ્રમાણભૂત બંધારણો IEEE 754 વિવિધ ચોકસાઇના ત્રણ પ્રમાણભૂત ફ્લોટિંગ-પોઇન્ટ દશાંશ ડેટા પ્રકારોને સ્પષ્ટ કરે છેઃ દશાંશ 32 ફ્લોટિંગ-પોઇન્ટ ફોર્મેટ દશાંશ 64 ફ્લોટિંગ-પોઇન્ટ ફોર્મેટ દશાંશ 128 ફ્લોટિંગ-પોઇન્ટ ફોર્મેટ ભાષા આધાર C #માં બિલ્ટ-ઇન ડેટા પ્રકાર 'દશાંશ' છે, જેમાં 128-બીટનો સમાવેશ થાય છે, જે 28-29 નોંધપાત્ર અંકોમાં પરિણમે છે. તેની અંદાજિત શ્રેણી (-7.9 x 10 28 થી 7.9 x 10 28)/(10 થી 28) છે. પાયથોન 2.4 થી શરૂ કરીને, પાયથોનની પ્રમાણભૂત લાઇબ્રેરીમાં મોડ્યુલમાં એક વર્ગનો સમાવેશ થાય છે. રૂબીની પ્રમાણભૂત લાઇબ્રેરીમાં મોડ્યુલમાં એક વર્ગનો સમાવેશ થાય છે. જાવાની પ્રમાણભૂત લાઇબ્રેરીમાં java.math.BigDecimal વર્ગનો સમાવેશ થાય છે. ઓબ્જેક્ટિવ-સીમાં, કોકોઆ અને જીએનયુસ્ટેપ એપીઆઈ દશાંશોનું પ્રતિનિધિત્વ કરવા માટે એન. એસ. ડેસિમલ નંબર વર્ગ અને એન. એસ. ડેસિમલ સી ડેટાટાઇપ પ્રદાન કરે છે, જેની મેન્ટિસા 38 અંકો સુધી લાંબી હોય છે, અને ઘાતાંક-128 થી 127 સુધી હોય છે. કેટલીક આઇબીએમ સિસ્ટમો અને એસક્યુએલ સિસ્ટમો ઓછામાં ઓછા બે મોટા બંધારણો સાથે ડીઇસીએફએલઓએટી બંધારણને ટેકો આપે છે. એબીએપીના નવા DECFLOAT ડેટા પ્રકારમાં દશાંશ 64 (DECFLOAT16 તરીકે) અને દશાંશ 128 (DECFLOAT34 તરીકે) બંધારણો શામેલ છે. પીએલ/આઈ મૂળ રૂપે ફિક્સ્ડ-પોઇન્ટ અને ફ્લોટિંગ-પોઇન્ટ ડેસીમલ ડેટા બંનેને સપોર્ટ કરે છે. જી. એન. યુ. કમ્પાઇલર કલેક્શન (જી. સી. સી.) વિસ્તરણ તરીકે દશાંશ ફ્લોટ્સ માટે આધાર પૂરો પાડે છે. મનસ્વી-ચોકસાઇ અંકગણિત ફ્લોટિંગ-પોઇન્ટ અંકગણિત ફ્લોટિંગ-પોઇન્ટ ભૂલ શમન સંદર્ભો ડેટા પ્રકારો કમ્પ્યુટર અંકગણિત પણ જુઓ.