កុំព្យូទ័រ, បច្ចេកវិទ្យា
ភាពជាតំណាងនៃលេខក្នុងកុំព្យូទ័រ។ ការតំណាងនៃចំនួនគត់និងលេខពិតប្រាកដនៅក្នុងសតិរបស់កុំព្យូទ័រនេះ
នរណាម្នាក់ដែលមិនធ្លាប់បានគិតនៅក្នុងជីវិតរបស់ខ្ញុំដែលនឹងក្លាយទៅជា "ប្រុស" ឬអ្នកគ្រប់គ្រងប្រព័ន្ធឬគ្រាន់តែដើម្បីភ្ជាប់ច្រើនជាមួយនឹង បច្ចេកវិទ្យាកុំព្យូទ័រ, ចំនេះដឹងអំពីរបៀបតំណាងនៃចំនួនលេខដែលនៅក្នុងនោះ អង្គចងចាំកុំព្យូទ័រ គឺជាការចាំបាច់បំផុត។ បន្ទាប់ពីបានទាំងអស់, ដោយផ្អែកលើភាសាសរសេរកម្មវិធីកម្រិតទាបដូចជាការដំឡើងនេះ។ ដូច្នេះថ្ងៃនេះយើងពិចារណាតំណាងនៃចំនួនលេខដែលនៅក្នុងកុំព្យូទ័រនិងបានដាក់ពួកវានៅក្នុងកោសិកាចងចាំ។
ការកំណត់
ប្រសិនបើអ្នកកំពុងអានអត្ថបទនេះអ្នកប្រហែលជាបានដឹងរួចទៅហើយអំពីវានោះទេប៉ុន្តែគឺជាការបញ្ជាក់ឡើងវិញ។ ទិន្នន័យទាំងអស់នៅក្នុងកុំព្យូទ័រផ្ទាល់ខ្លួនត្រូវបានរក្សាទុកនៅក្នុងគោលពីរ ប្រព័ន្ធលេខ។ នេះមានន័យថាចំនួនណាមួយដែលអ្នកត្រូវតែដាក់ទម្រង់បែបបទសមរម្យដែលត្រូវបានផ្សំឡើងពីសូន្យនិងមួយ។
ក្នុងគោលបំណងដើម្បីផ្ទេរទម្លាប់សម្រាប់ពួកយើងលេខទសភាគទៅជាទម្រង់មួយកុំព្យូទ័រអាចយល់បាន, អ្នកត្រូវតែប្រើក្បួនដោះស្រាយដែលបានរៀបរាប់ដូចខាងក្រោម។ ក្រៅពីនេះមានម៉ាស៊ីនគិតលេខឯកទេស។
ដូច្នេះនៅក្នុងគោលបំណងដើម្បីដាក់ចំនួននៅក្នុងប្រព័ន្ធគោលពីរនេះ, អ្នកត្រូវការទទួលយកតម្លៃដែលបានជ្រើសរបស់យើងនិងចែកវាដោយ 2. បន្ទាប់ពីនោះយើងទទួលបានលទ្ធផលនេះនិងនៅសល់ (0 ឬ 1) ។ លទ្ធផលទី 2 ម្តងទៀតចែកចាំកាកសំណល់។ នីតិវិធីនេះគួរតែត្រូវបានធ្វើម្តងទៀតដរាបណាលទ្ធផលនឹងជា 0 ឬ 1 បន្ទាប់មកសរសេរតម្លៃចុងក្រោយហើយសាកសពក្នុងលំដាប់បញ្ច្រាស, ដូចដែលយើងបានទទួលពួកគេ។
នេះជាអ្វីដែលកំពុងកើតឡើងនៅក្នុងកុំព្យូទ័រតំណាងនៃចំនួនលេខ។ ចំនួនណាមួយត្រូវបានរក្សាទុកនៅក្នុងសំណុំបែបបទប្រព័ន្ធគោលពីរ, ហើយបន្ទាប់មកយកកោសិកាចងចាំ។
អង្គចងចាំ
ដូចដែលអ្នកគួរតែដឹងថាអង្គភាពពអប្បបរមារួចទៅហើយគឺ 1 ប៊ីត។ ដូចដែលយើងបានឃើញ, តំណាងនៃលេខក្នុងកុំព្យូទ័រកើតឡើងនៅក្នុងទ្រង់ទ្រាយគោលពីរ។ ដូច្នេះបន្តិចគ្នានៃការចងចាំត្រូវបានកាន់កាប់ដោយតម្លៃមួយនៃ - 1 ឬ 0 ។
សម្រាប់ការផ្ទុក នៃចំនួនធំ ត្រូវបានគេប្រើកោសិកា។ អង្គភាពនីមួយមាន 8 ប៊ីតនៃព។ ដូច្នេះយើងអាចសន្និដ្ឋានថាតម្លៃអប្បបរមានៅក្នុងចម្រៀកសតិគ្នាអាចមាន 1 ឬជាប្រាំបីបៃជាចំនួនគោលពីរ។
ទាំងមូល
ទីបំផុតយើងទទួលបានដើម្បីដាក់ដោយផ្ទាល់នៃទិន្នន័យនៅក្នុងកុំព្យូទ័រ។ ដូចបានរៀបរាប់រឿងដំបូងដែលដំណើរការបកប្រែទៅជាទ្រង់ទ្រាយគោលពីរពមួយហើយបានតែបន្ទាប់មក allocates សតិ។
យើងនឹងចាប់ផ្តើមជាមួយជម្រើសសាមញ្ញបំផុតដែលជាតំណាងនៃចំនួនគត់ក្នុងកុំព្យូទ័រ។ អង្គចងចាំកុំព្យូទ័រត្រូវបានបម្រុងទុកសម្រាប់ដំណើរការនេះគឺជាការគួរឱ្យអស់សំណើចណាស់ចំនួនតូចនៃកោសិកា - គ្រាន់តែមួយ។ ដូច្នេះអតិបរមានៃរន្ធមួយអាចមានតម្លៃពី 0 ទៅ 11111111. មួយចូរប្រែចំនួនធាតុអតិបរមានៅក្នុងសំណុំបែបបទធម្មតា។
X = 1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 1 × 2 0 = 1 × 2 8 - 1 = 255 ។
ឥឡូវនេះយើងមើលឃើញថានៅក្នុងកោសិកាការចងចាំមួយដែលអាចត្រូវបានដាក់ពី 0 ទៅ 255. ទោះយ៉ាងណានេះអនុវត្តតែទៅចំនួនគត់មិនអវិជ្ជមាន។ ប្រសិនបើកុំព្យូទ័រនេះនឹងត្រូវកត់ត្រាតម្លៃអវិជ្ជមាន, អ្វីគ្រប់យ៉ាងទៅតិចតួចមួយខុសគ្នា។
លេខអវិជ្ជមាន
ឥឡូវសូមមើលពីរបៀបដែលតំណាងនៃលេខក្នុងកុំព្យូទ័រនេះ, ប្រសិនបើពួកគេគឺជាអវិជ្ជមាន។ សម្រាប់ការសរសេរតម្លៃដែលមានតិចជាងសូន្យ, ដែលបានផ្ដល់កោសិកានៃការចងចាំពីរឬ 16 ប៊ីតនៃពមួយ។ ដូច្នេះ 15 ទៅក្រោមចំនួនដោយខ្លួនវាផ្ទាល់និងជាលើកដំបូង (ខាងឆ្វេងបំផុត) បន្តិចបានផ្តល់ឱ្យដោយសញ្ញាគ្នា។
ប្រសិនបើមានតួលេខនេះគឺអវិជ្ជមាន, វាត្រូវបានកត់ត្រា, "1" ប្រសិនបើវិជ្ជមាន, បន្ទាប់មក "0" ។ ចំពោះភាពងាយស្រួលនៃការទន្ទេញចាំមាត់, អ្នកអាចគូរពីភាពស្រដៀងគ្នាខាងក្រោម: ប្រសិនបើមានសញ្ញាគឺ, បន្ទាប់មកដាក់ 1 ប្រសិនបើវាមិន, បន្ទាប់មកគ្មានអ្វី (0) ។
នៅសល់ 15 ប៊ីតនៃពត្រូវបានផ្ដល់លេខ។ ដូចគ្នានេះដែរទៅនឹងករណីមុនអ្នកអាចដាក់អតិបរមានៃដប់ប្រាំគ្រឿងនៅក្នុងពួកគេ។ វាគួរតែត្រូវបានកត់សម្គាល់ថាធាតុនៃលេខអវិជ្ជមាននិងវិជ្ជមានគឺមានយ៉ាងខ្លាំងខុសពីគ្នា។
ក្នុងគោលបំណងដើម្បីផ្ទុកកោសិកានៃការចងចាំ 2 គឺធំជាងសូន្យឬស្មើដែលជាកូដដោយផ្ទាល់គេហៅថា។ ប្រតិបត្ដិការនេះត្រូវបានអនុវត្តក្នុងលក្ខណៈដូចគ្នាដូចដែលបានរៀបរាប់ខាងលើនិងមានអតិបរមាមួយ = 32766, នៅពេលប្រើ ការកំណត់គោលដប់។ គ្រាន់តែចង់កត់សំគាល់ថានៅក្នុងករណីនេះ "0" សំដៅទៅលើវិជ្ជមាន។
ឧទហរណ៍
ភាពជាតំណាងនៃចំនួនគត់ក្នុងសតិរបស់កុំព្យូទ័រគឺមិនមែនដូចជាកិច្ចការលំបាក។ ទោះបីជាវាជាការបន្តិចស្មុគ្រស្មាញនៅពេលដែលវាមកដល់តម្លៃអវិជ្ជមាន។ ដើម្បីកត់ត្រាចំនួនដែលមានតិចជាងសូន្យដោយប្រើលេខកូដបន្ថែមទៀត។
ដើម្បីទទួលបានវា, ម៉ាស៊ីនផលិតចំនួននៃការប្រតិបត្ដិអង្គការជំនួយមួយ។
- កត់ត្រាម៉ូឌីលនៃចំនួនអវិជ្ជមាននៅក្នុងការកំណត់ប្រព័ន្ធគោលពីរជាលើកដំបូង។ នោះគឺជាកុំព្យូទ័រមួយដែលស្រដៀងគ្នាប៉ុន្តែការចងចាំជាវិជ្ជមាន។
- បន្ទាប់មកការចងចាំបញ្ច្រាសបន្តិចគ្នា។ ចំពោះគោលបំណងនេះអង្គភាពទាំងអស់ត្រូវបានជំនួសដោយលេខសូន្យនិងច្រាសមកវិញ។
- យើងបានបន្ថែម "1" ដើម្បីលទ្ធផល។ នេះនឹងក្លាយជាលេខកូដបន្ថែមទៀត។
ខាងក្រោមនេះគឺជាឧទាហរណ៍រស់រវើក។ សន្មតថាយើងមានចំនួននៃ X = មួយ - 131. ដំបូងទទួលបានម៉ូឌុល | X | = 131 បន្ទាប់មកបម្លែងទៅជាប្រព័ន្ធគោលពីរនិងកំណត់ត្រានៃកោសិកា 16 ។ យើងទទួលបាន X បាន = 0000000010000011. បន្ទាប់ពីការដាក់បញ្ច្រាស X = 1111111101111100 ។ លោកបានបន្ថែមជាធរមាន "1" និងទទួលបានលេខកូដការរៀបបញ្ច្រាស X = 1111111101111101 ។ សម្រាប់ថតក្រឡាអង្គចងចាំ 16 bit គឺជាចំនួនអប្បបរមារបស់ X = - (2 15) = - 32767 ។
ឡុង
ដូចដែលអ្នកអាចមើលឃើញ, ការតំណាងនៃចំនួនពិតប្រាកដនៅក្នុងកុំព្យូទ័រមួយគឺមិនមានការលំបាកនោះ។ ទោះជាយ៉ាងណា, ការពិភាក្សានៃជួរអាចនឹងមិនគ្រប់គ្រាន់សម្រាប់ប្រតិបត្តិការភាគច្រើនបំផុត។ ដូច្នេះនៅក្នុងគោលបំណងដើម្បីសម្រុះសម្រួលចំនួនធំនៃកុំព្យូទ័រផ្តល់កោសិកានៃការចងចាំ 4, ឬ 32 ប៊ីត។
ដំណើរការថតនេះមិនខុសគ្នាពីការដែលបានបង្ហាញខាងលើ។ ដូច្នេះយើងគ្រាន់តែផ្តល់ជួរនៃចំនួនលេខដែលអាចត្រូវបានរក្សាទុកនៅក្នុងប្រភេទនេះទេ។
អតិ = 2.147.483.647 X បាន។
X នាទី = - 2147483648 ។
តម្លៃទិន្នន័យក្នុងករណីភាគច្រើនគ្រប់គ្រាន់ដើម្បីកត់ត្រានិងប្រតិបត្ដិការនៅលើការសម្តែងទិន្នន័យ។
ការតំណាងនៃចំនួនពិតប្រាកដនៅក្នុងកុំព្យូទ័រមួយដែលមានគុណសម្បត្តិនិងគុណវិបត្តិរបស់វា។ នៅលើដៃមួយ, វិធីសាស្រ្តនេះធ្វើឱ្យវាងាយស្រួលក្នុងប្រតិបត្ដិការរវាងការសម្តែងតម្លៃចំនួនគត់ដែលយ៉ាងខ្លាំងបង្កើនល្បឿនប្រព័ន្ធដំណើរការនេះ។ នៅលើដៃផ្សេងទៀត, ជួរនេះគឺមិនគ្រប់គ្រាន់ដើម្បីដោះស្រាយបញ្ហាភាគច្រើននៅក្នុងវិស័យសេដ្ឋកិច្ច, រូបវិទ្យា, នព្វន្ធនិងវិទ្យាសាស្រ្តផ្សេងទៀត។ ដូច្នេះឥឡូវនេះយើងមើលវិធីសាស្រ្តមួយផ្សេងទៀតសម្រាប់ sverhvelichin ។
ចំណុចអណ្តែតទឹក
នេះគឺជារឿងចុងក្រោយដែលអ្នកត្រូវដឹងអំពីតំណាងនៃលេខក្នុងកុំព្យូទ័រ។ ចាប់តាំងពីមានបញ្ហាកំណត់ទីតាំងនៃសញ្ញាក្បៀសនៅក្នុងពួកគេមួយ, ដើម្បីសម្រុះសម្រួលតួលេខបែបនេះនៅក្នុងកុំព្យូទ័រប្រើដោយសំណុំនិទស្សន្តនៅពេលសរសេរប្រភាគមួយ។
ចំនួនណាមួយអាចនឹងត្រូវបានតំណាងនៅក្នុងសំណុំបែបបទ X បានទំ = m * n ដូចខាងក្រោម។ ដែល m - គឺជាចំនួននៃ mantissa, ទំ - គោលស្មើនិង n - ចំនួនលំដាប់។
ស្តង់ដាចំនួនដែលចំណុចនេះអណ្តែតទឹកត្រូវបានគេប្រើដូចខាងក្រោមនេះថតលក្ខខណ្ឌ, បើយោងតាមដែលម៉ូឌុល mantissa គួរតែធំជាងឬស្មើនឹង 1 / n និងតិចជាង 1 ។
សូមឱ្យយើងចំនួន 666,66 ត្រូវបានផ្ដល់។ សូមឱ្យយើងផ្ដល់ឱ្យវាទៅជាសំណុំនិទស្សន្តនេះ។ ក្នុង X = 0.66666 * 10 ខែមីនា។ P = 10 និង n = 3 ។
នៅលើការផ្ទុកអណ្តែតទឹកជាធម្មតាបានបម្រុងទុកសម្រាប់តម្លៃចំណុចឬ 8 បៃ 4 (32 ប៊ីតឬ 64) ។ នៅក្នុងករណីដំបូងវាត្រូវបានហៅចំនួនទសភាគដែលបានតែខណៈពេលដែលលើកទីពីរ - មួយភាពជាក់លាក់ពីរដង។
នៃការបៃ 4 ដែលបានបម្រុងទុកសម្រាប់ការផ្ទុកលេខ 1 (8 ប៊ីត) បានផ្ដល់ខាងក្រោមនៅលើទិន្នន័យនីតិវិធីនិងសញ្ញារបស់ខ្លួននិង 3 បៃ (24 ប៊ីត) សម្រាប់ផ្ទុក mantissa បានចាកចេញពីសញ្ញានិងនៅលើគោលការណ៍ដូចគ្នាសម្រាប់តម្លៃចំនួនគត់របស់ខ្លួន។ ការដឹងនេះយើងអាចធ្វើការគណនាសាមញ្ញមួយចំនួន។
តម្លៃអតិបរមានៃ n = 2 1111111 127 = 10 ។ ដោយផ្អែកលើវាយើងអាចទទួលបានចំនួនអតិបរមានៃលេខដែលអាចត្រូវបានរក្សាទុកនៅក្នុងសតិរបស់កុំព្យូទ័រ។ X = 2127 ។ ឥឡូវនេះយើងអាចគណនា mantissa អាចធ្វើទៅបានជាអតិបរមា។ វានឹងត្រូវបានស្មើទៅ 2 23 - 1 ≥ 2 23 = 2 (10 × 2,3) ≥ 2.3 = 10 1000 (3 × 2,3) ≥ 10 លើកទី 7 ។ ជាលទ្ធផលយើងទទួលបានតម្លៃប្រហាក់ប្រហែល។
ឥឡូវនេះបើយើងបានរួមបញ្ចូលគ្នាទាំងពីរនៃការគណនានោះយើងទទួលបានតម្លៃដែលអាចត្រូវបានរក្សាទុកដោយគ្មានការខាតបង់នៃ 4 បៃ។ វានឹងត្រូវបានស្មើទៅ x = 1.701411 * 10 38 ។ នេះជាតួរលេខដែលនៅសល់ត្រូវបានបោះបង់ព្រោះវាអនុញ្ញាតឱ្យអ្នកដើម្បីឱ្យមានភាពជាក់លាក់នៃវិធីសាស្រ្តនៃការថតនេះ។
ភាពជាក់លាក់ពីរដង
ចាប់តាំងពីការគណនាទាំងអស់ត្រូវបានគូរនិងបានពន្យល់នៅក្នុងកថាខណ្ឌមុននៅទីនេះយើងប្រាប់អ្នកទាំងអស់យ៉ាងខ្លាំងរយៈពេលខ្លី។ លេខពីរដងជាធម្មតាត្រូវបានភាពជាក់លាក់ 11 ប៊ីតសម្រាប់បម្រុងទុកសម្រាប់ការបញ្ជាទិញនិងសញ្ញារបស់វាព្រមទាំង 53 ប៊ីតសម្រាប់ mantissa នេះ។
1111111111 n = 2 1023 = 10 ។
M = 2 52 -1 = 2 (10 * 5,2) = 1000 5.2 = 10 15.6 ។ មានរាងមូលនិងទទួលបានចំនួនអតិបរមា = 2 X បាន 1023 ឡើងទៅ "m" ។
យើងសង្ឃឹមថាអំពីការតំណាងនៃចំនួនគត់និងចំនួនពិតនៅក្នុងកុំព្យូទ័ររបស់យើងបានផ្តល់វាមានប្រយោជន៍ចំពោះអ្នកនៅក្នុងការបណ្តុះបហើយនឹងត្រូវបានកាន់តែច្បាស់ជាងអ្វីដែលជាធម្មតាត្រូវបានសរសេរក្នុងសៀវភៅនេះបន្តិច។
Similar articles
Trending Now