Mai mult
Ce este valoarea maximă pentru un int32?
Nu-mi amintesc numărul. Am nevoie de o regulă de memorie.
1383
45
Nu-mi amintesc numărul. Am nevoie de o regulă de memorie.
L's 2,147,483,647. Cel mai simplu mod de a memora este prin intermediul unui tatuaj.
Cel mai corect răspuns la care mă pot gândi este
Int32.MaxValue
.Dacă credeți că valoarea este prea greu să-și amintească în baza 10, să încerce baza 2: 1111111111111111111111111111111
dacă vă puteți aminti întreaga numărul Pi, apoi numărul căutat este în poziția 1,867,996,680 până 1,867,996,689 de cifre zecimale ale lui Pi
sursa: http://www.subidiom.com/pi/
L's 10 cifre, așa că poartă-l's un număr de telefon (presupunând că ai're în SUA). 214-748-3647. Eu nu't recomanda asteptare.
Mai degrabă decât să cred că de ea ca un număr mare, încerca, de rupere-l în jos și caut asociat ideilor de exemplu:
Cele de mai sus se aplică pentru cel mai mare număr negativ; pozitiv este că, minus unul.
Poate defalcarea de mai sus nu va mai fi de neuitat pentru tine (it's greu de captivant este!), dar să sperăm că puteți veni cu unele idei care sunt!
Cea mai mare negativ (32 de biți) valoare : -2147483648
(1 << 31)
Cel mai mare pozitiv (32 de biți) valoare : 2147483647
~(1 << 31)
Mnemonic: "beat AKA excitat"
Oricum, ia acest regex (se determină dacă șirul conține un număr Întreg non-negativ în formă zecimală, care este, de asemenea, nu mai mare decât Int32.MaxValue)
[0-9]{1,9}|[0-1][0-9]{1,8}|20[0-9]{1,8}|21[0-3][0-9]{1,7}|214[0-6][0-9]{1,7}|2147[0-3][0-9]{1,6}|21474[0-7][0-9]{1,5}|214748[0-2][0-9]{1,4}|2147483[0-5][0-9]{1,3}|21474836[0-3][0-9]{1,2}|214748364[0-7]
Poate ar ajuta să vă amintiți.
Ca's cum am amintit
2147483647
:Scriu aceste orizontal:
Acum'am 2147483647.
Sper că acest lucru ajută cel puțin un pic.
Deci, 2^31 (semnat int max) este 2^30 (aproximativ 1 miliarde de euro) ori 2^1 (2), sau aproximativ 2 miliarde de euro. Și 2^32 este 2^30 * 2^2 sau aproximativ 4 miliarde de euro. Această metodă de aproximare este suficient de precisă chiar și la aproximativ 2^64 (în cazul în care eroarea crește cu aproximativ 15%).
Dacă aveți nevoie de un răspuns exact atunci ar trebui să trageți în sus un calculator.
La îndemână cuvântul aliniat capacitate de aproximări:
Doar să ia orice calculator decent și de tip în "7FFFFFFF" în modul hex, apoi trece la zecimale.
2147483647.
L's despre
2.1 * 10^9
. Nu trebuie să știți exact2^{31} - 1 = 2,147,483,647
.C
Îl puteți găsi în C asa:
dă (bine, fără
,
)C++ 11
Aici's un mnemonic pentru amintindu-2**31, scade unul pentru a obține maximum de valoare de tip întreg.
a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9
Am'am folosit puterile de două până la 18 suficient de des pentru a-i amintesc, dar chiar nu am't deranjat de memorare 2**31. L's prea ușor pentru a calcula cât este necesar sau de a folosi o constantă, sau se estimează ca 2G.
32 de biți, unul pentru semn, 31 de biți de informație:
De ce -1?
Pentru că prima este zero, astfel încât cea mai mare este conta minus unu.
Pentru a EDITA cantfindaname88
Numărul este 2^31 dar cea mai mare poate't fi 2147483648 (2^31), pentru că am numărul de la 0, nu 1.
O altă explicație cu doar 3 biți : 1 pentru semnul, 2 pentru informații
Mai jos toate valorile posibile cu 3 biți: (2^3 = 8 valori)
Ei bine, ea are 32 de biți și, prin urmare, poate stoca 2^32 valori diferite. Jumătate dintre acestea sunt negative.
Soluția este 2,147,483,647
Și cel mai mic este -2,147,483,648.
(Observați că mai este o valoare negativă.)
Ei bine, lăsând la o parte glumele, daca're într-adevăr în căutarea pentru un instrument util de memorie regulă, există una pe care o folosesc mereu pentru a-și aminti numere mari.
Aveți nevoie pentru a rupe în jos numărul tău în părți din 3-4 cifre și amintiți-vă-le vizual folosind proiecția pe tastatură telefon mobil. L's ușor pentru a arăta pe o imagine:
După cum puteți vedea, de acum pe trebuie doar să vă amintiți 3 forme, 2 dintre ele arata ca un Tetris L și arată ca o capusa. Care este cu siguranță mult mai ușor decât memorarea unui număr de 10 cifre.
Atunci când ai nevoie să amintim numărul amintesc doar forme, imagina/uita-te pe o tastatură de telefon și de proiect formele pe ea. Poate că inițial te'll trebuie să se uite la tastatură, dar după doar un pic de practică,'ll amintiți-vă că numerele sunt de la stânga-sus la dreapta-jos astfel încât să va fi capabil de a pur și simplu imaginează-ți asta în cap.
Doar asigurați-vă că vă amintiți direcția de forme și numărul de cifre în fiecare formă (de exemplu, în 2147483647 exemplu, avem un cod de 4 cifre Tetris L și 3 cifre din L).
Puteți folosi această tehnică pentru a aminti cu ușurință orice număr important (de exemplu, mi-am amintit mea de 16 cifre, numărul cardului de credit etc.).
Primul scrie 47 de două ori, (te ca [Agent 47][1], nu?), păstrarea în spații așa cum se arată (fiecare dash este un slot pentru o singură cifră. Primele 2 sloturi, apoi 4)
Cred că ai
12
în mână (pentru că 12 = o duzină). Se înmulțește prin4
, prima cifră de Agent 47's numărul, de exemplu47
, și puneți rezultatul de la dreptul de prima pereche aveți dejaCel mai simplu mod de a face acest lucru pentru numere întregi este de a utiliza hexazecimal, cu condiția că nu e't ceva de genul Int.maxInt(). Motivul este acesta:
Max nesemnate valori
Semnat valori, folosind 7F ca max semnat valoare
Semnat valori, folosind 80 ca max semnat valoare
Cum face acest lucru? Acest lucru este foarte similar cu cel binar tactică, și fiecare hex cifre este exact 4 biți. De asemenea, o mulțime de compilatoare suport hex mult mai bine decât au suport binare.
Deci 7F este egal cu 01111111 / 7FFF este egal cu 0111111111111111. De asemenea, dacă utilizați acest lucru pentru "incredibil de mare constanta", 7F... e safe hex, dar's destul de ușor pentru a încerca 7F și 80 și doar să le imprimați pe ecran pentru a vedea care unul este.
0x7FFF + 0x0001 = 0x8000, deci pierderea este doar un număr, astfel încât folosind 0x7F... de obicei e't un rău compromis pentru mult mai fiabile, mai ales odată ce ați începe să utilizați-32-biți sau mai mult
2GB
(este acolo o lungime minimă pentru răspunsuri?)
Cea mai bună regulă pentru a memora este: 21 (număr magic!) 47 (amintiți-vă doar ea) 48 (secvențiale!) 36 (21 + 15, atât magia!) 47 din nou
De asemenea, este mai ușor să vă amintiți 5 perechi mult de 10 cifre.