Кіріспе

Бүтін дерек типінің мәліметі Компьютер ғылымында бүтін сан – математикалық бүтін сандардың белгілі бір диапазонын көрсететін бүтін дерек типінің мәліметі. Бүтін дерек типтері әртүрлі өлшемде болуы мүмкін және теріс мәндерді қабылдауы немесе қабылдамауы мүмкін. Бүтін сандар компьютерде екілік цифрлардың (биттер) тобы ретінде бейнеленеді. Топтастырудың мөлшері әртүрлі болғандықтан, қол жетімді бүтін сандар жиыны әртүрлі компьютерлерде әртүрлі болады. Компьютерлік жабдық процессор тіркегішін немесе жад адресін бүтін сан ретінде көрсету мүмкіндігін әдетте қамтамасыз етеді.

Құны мен бейнеленуі

Интегралды типтегі мәннің шамасы – оған сәйкес келетін математикалық бүтін сан. Интегралды типтер белгісіз (тек теріс емес бүтін сандарды бейнелей алатын) немесе белгілі (теріс бүтін сандарды да бейнелей алатын) болуы мүмкін. Бүтін сан мәні бағдарламаның бастапқы кодында әдетте + немесе – белгісі қойылған цифрлар тізбегі түрінде көрсетіледі. Кейбір бағдарламалау тілдері басқа жазу тәсілдерін де қолдануға мүмкіндік береді, мысалы, он алтылық (16-лық негізде) немесе сегіздік (8-лік негізде). Кейбір бағдарламалау тілдері цифрлар тобын бөлуге де рұқсат етеді. Бұл деректің ішкі бейнелеуі – компьютер жадында мәнді сақтау тәсілі. Математикалық бүтін сандардан айырмашылығы, компьютердегі әдеттегі деректің ең кішкентай және ең үлкен мүмкін мәні болады. Оң бүтін санның ең көп таралған бейнелеуі – бинарлық сандар жүйесіндегі биттер тізбегі. Биттерді сақтайтын жад байттарының реті әр түрлі болуы мүмкін; endianness туралы қараңыз. Интегралды типтің ені, дәлдігі немесе биттігі – оның бейнелеуіндегі биттер саны. n битті интегралды тип 2n санды кодтай алады; мысалы, белгісіз тип әдетте 0-ден 2n-1 дейінгі теріс емес мәндерді көрсетеді. Кейде бүтін сан мәндерін бит үлгілеріне түрлендіру үшін басқа кодтамалар қолданылады, мысалы, екілік кодталған ондық немесе Грей коды, немесе ASCII сияқты басылатын таңба кодтары. Бинарлық есептеу жүйесінде белгілі сандарды бейнелеудің төрт әйгілі тәсілі бар. Ең көп қолданылатыны – екілік толықтыру, ол n битті белгілі интегралды типке -2(n-1) -ден 2(n-1)-1 дейінгі сандарды бейнелеуге мүмкіндік береді. Екілік толықтыру арифметикасы ыңғайлы, себебі бейнелеулер мен мәндер арасында толық сәйкес келеді (әсіресе, +0 және -0 жеке қарастырылмайды), және қосу, алу және көбейту операциялары белгілі және белгісіз типтерді ажыратуды қажет етпейді. Басқа мүмкіндіктерге – офсеттік екілік, белгінің шамасы және бірліктердің толықтыруы кіреді. Кейбір компьютерлік тілдер бүтін санның мөлшерін машинадан тәуелсіз түрде анықтайды; ал кейбіреулері процессордың сөз мөлшеріне байланысты әртүрлі анықтамаларды қолданады. Барлық тілдік іске асырылымдар барлық бүтін сан мөлшеріне қатысты айнымалыларды анықтамайды, ал анықталған мөлшерлер нақты іске асырылымда тіпті ерекшеленбеуі мүмкін. Бір бағдарламалау тіліндегі бүтін сан басқа тілде, басқа процессорда немесе әртүрлі биттік орындалу контекстінде басқа мөлшерде болуы мүмкін; қараңыз. Кейбір ескі компьютерлік архитектуралар бүтін сандардың ондық бейнелеуін қолданды, олар екілік кодталған ондық (BCD) немесе басқа форматта сақталды. Бұл мәндер әдетте, белгі үшін қосымша биттермен, ондық санға 4 бит дерек мөлшерін қажет етеді (кейде оны ниббл деп атайды). Көптеген заманауи процессорлар ондық бүтін сандарды кеңейтілген дерек типі ретінде шектеулі түрде қолдайды, мұндай мәндерді бинарлық мәндерге және кері түрлендіруге арналған нұсқауларды ұсынады. Архитектураға байланысты, ондық бүтін сандардың тұрақты мөлшері болуы мүмкін (мысалы, 7 ондық сан плюс белгі 32 биттік сөзге сыяды) немесе өзгермелі ұзындығы болуы мүмкін (кейбір ең үлкен сан мөлшеріне дейін), әдетте байт (октет) үшін екі санды алады.

Байттар мен октеттер

Байт термині бастапқыда "жадтың ең кіші адрестелетін бірлігі" деген мағынаны білдірді. Бұрын 5, 6, 7, 8 және 9 биттік байттар қолданылған. Жеке биттерді ("биттік адрестелген машина") немесе тек 16 немесе 32 биттік шамаларды ("сөздік адрестелген машина") адрестейтін компьютерлер де болды. Байт термині әдетте биттік және сөздік адрестелген машиналармен байланысты қолданылмады. Октет термині әрқашан 8 биттік шаманы білдіреді. Ол көбінесе компьютерлік желілер саласында қолданылады, онда әртүрлі байт ені бар компьютерлер арасында байланыс қажет болуы мүмкін. Қазіргі қолданыста байт көбінесе сегіз битті білдіреді, себебі басқа өлшемдер қолданыстан шығып қалды; осылайша байт октетпен синонимге айналды.

Сөздер

"Word" термині белгілі бір архитектураның процессорлары бір мезгілде өңдейтін биттердің шағын тобын білдіреді. Сөздің мөлшері CPU-ға қатысты болады. Әртүрлі сөз мөлшерлері қолданылған, оның ішінде 6, 8, 12, 16, 18, 24, 32, 36, 39, 40, 48, 60 және 64 бит. Архитектуралық ерекшелік болғандықтан, сөздің мөлшері көбінесе отбасыдағы алғашқы процессормен анықталады, ал кейінірек шыққан үйлесімді процессордың сипаттамаларымен емес. "Сөзден" туындаған терминдердің, мысалы, "ұзын сөз", "екі есе сөз", "төрт есе сөз" және "жарты сөз" мағыналары да CPU мен операциялық жүйеге байланысты өзгереді.

Стандартты бүтін сан

Стандартты бүтін сандық өлшемі платформаға тәуелді. C тілінде ол `int` деп белгіленеді және кемінде 16 бит болуы керек. Windows және Unix жүйелері 32 биттік және 64 биттік архитектуралардың екеуінде де 32 биттік сандарды қолданады.

Ұзақ уақыт

C99 C бағдарламалау тілінің C99 нұсқасында және C++11 C++ нұсқасында стандартты long түрінен екі есе көп сыйымдылығы бар long long түрі қолдауға ие. Бұл түр C++03-дің бұрынғы стандартына сәйкес келетін C кодын талап ететін компиляторлармен қолдау көрсетілмейді, себебі long long түрі C++03 стандартында болған жоқ. ANSI/ISO стандартына сәйкес компилятор үшін, көрсетілген диапазонның ең төменгі талабы −(263−1) болып табылады. Бұл платформалар арасында код пен дерек алмасу кезінде немесе тікелей аппараттық құрылғыларға қол жеткізуде қиындықтар тудыруы мүмкін. Сондықтан, платформаға тәуелсіз нақты енді түрлерін ұсынатын бірнеше кітапханалар бар. C стандартты кітапханасы stdint.h кітапханасын ұсынады; ол C99 және C++11 нұсқаларында енгізілді.