C keel - 64-bitiste täisarvude käsitlemine
Põhimõtteliselt C-keeles ei saa allkirjastamata number üle 32 bitti ületada väärtust 4, 294, 967, 295.
Te võite leida, et teil on vaja käsitleda suuremaid numbreid ja selleks on vaja neid numbreid 64-bitisena kodeerida.
Seda ei käsitleta samal viisil kui tavalist täisarvu. Neid tuleb määratleda erinevalt.
Allkirjastamata 64-bitine täisarv
Tüüp: allkirjastamata pikk pikk
Ekraani vormindamine: % llu
Sufiks konstanti määramiseks: ULL
Näide:
// Määrake väärtus 4294967296 allkirjastamata pika pikkusega a = 4294967296ULL; // Näita väärtust printf ("% llu", a);
Allkirjastatud 64-bitine täisarv
Tüüp: pikk
Ekraani vormindamine: % lld
Sufiks konstanti määramiseks: LL
Näide:
// Määrake väärtus 4294967296 pika pikkusega a = 4294967296LL; // Näita väärtust printf ("% lld", a);
Kasutades ebatavalist järelliidet konstantse väärtuse määramiseks
Pika pikkusega a = 4294967296
Teie kompilaator küsib, et see number on "pikk" tüüpi jaoks liiga suur. See kontseptsioon on otseselt seotud 32-bitiste protsessorite arhitektuuriga. 32-bitine protsessor on piiratud ja teie vaikimisi kompilaator püüab numbrid ühte registrisse sobitada. Kuid sufiksiga, nagu LL ja ULL, salvestab teie kompilaator teie numbri kahele registrile, st 64-bitiseks, võimaldades seega oluliselt suuremaid numbreid.