Câu hỏi Giá trị tối đa cho một int32 là gì?


Tôi không bao giờ có thể nhớ số. Tôi cần một quy tắc bộ nhớ.


1269
2017-09-18 17:18


gốc


chưa ký: 2³²-1 = 4 · 1024³-1; đã ký: -2³¹ .. + 2³¹-1, vì bit dấu là bit cao nhất. Chỉ cần học 2⁰ = 1 đến 2¹⁰ = 1024 và kết hợp. 1024 = 1k, 1024² = 1 triệu, 1024³ = 1G - comonad
Tôi thường nhớ rằng mỗi 3 bit là về một chữ số thập phân. Điều này đưa tôi đến đúng thứ tự độ lớn: 32 bit là 10 chữ số. - Barmar
@ JoachimSauer nó chắc chắn có thể giúp gỡ lỗi nếu bạn học ít nhất là nhận ra những loại số. - Dunaril
"nếu đĩa bị đầy, xóa tất cả mbyte sẽ lưu trữ" (2 chữ cái, 1 chữ cái, 4 chữ cái, 7 chữ cái, 4 chữ cái, 8 chữ cái, 3 chữ cái, 6 chữ cái, 4 chữ cái, 7 chữ cái) - UltraCommit
Một trường hợp, khi int32 là không đủ: bbc.com/news/world-asia-30288542 - ingaham


Các câu trả lời:


Đó là 2.147.483.647. Cách dễ nhất để ghi nhớ nó là thông qua một hình xăm.


4597
2017-09-18 17:20



Chú ý của tôi: 2 ^ 10 rất gần 1000, vì vậy 2 ^ (3 * 10) là 1000 ^ 3 hoặc khoảng 1 tỷ. Một trong 32 bit được sử dụng để ký, vì vậy giá trị tối đa thực sự chỉ là 2 ^ 31, tức là gấp đôi số tiền bạn nhận được cho 2 ^ (3 * 10): 2 tỷ. - 16807
2147483647 không có dấu phẩy. - Vern D.
Chỉ cần sử dụng: Integer.MAX_VALUE trong Java. - Tim
Nếu bạn nhận được hình xăm trên khuôn mặt của bạn, đừng quên đảo ngược nó để nó đọc chính xác trong gương. Nếu không, bạn sẽ thấy 746,384,741,2 đó là sai và sẽ được lúng túng. - Larry S
2.147.483.647 = 0x7FFFFFFF, nếu bạn muốn nhớ nó, chỉ cần sử dụng hex. - roottraveller


Câu trả lời đúng nhất tôi có thể nghĩ là Int32.MaxValue.


460
2017-09-18 17:23



Họ đã tạo ra tài sản đó chỉ cho chúng ta những người lập trình lười biếng. - Camilo Martin
Trước khi điều này tồn tại, tôi đã sử dụng #define INT32_MIN và INT32_MAX trong tất cả các dự án của mình. - WildJoe
@CamiloMartin Hey. Tôi phẫn nộ điều đó. Chỉ có không có nơi cho bất kỳ hình xăm nhiều hơn nữa. Rõ ràng, bảng mã iso-8859-1 và Pi đến 31415 số thập phân phải được ưu tiên - sehe
Khi bạn đang lập trình: có trong 99% các trường hợp. Nhưng bạn có thể muốn biết rằng nó là một cái gì đó như ~ 2 tỷ để lập kế hoạch phương pháp lập trình hoặc khi làm việc với dữ liệu, mặc dù nó là một số lượng rất lớn. :) - Andre Figueiredo
@sehe Không phải latin1 / Windows 1252 đã lỗi thời chưa? Nếu nó không thể phù hợp trong 7 byte của ASCII, tôi không nghĩ rằng nó xứng đáng là một nơi trong bộ nhớ chính. Ý tôi là... tất cả các Các trang mã UNICODE rất hữu ích, nhưng hơn một meg-da-không gian dường như là một sự lãng phí. (Chưa kể nó vẫn không bao gồm glyph mô tả cho "pageup / pagedown" hoặc "pagehome / pageend")


Nếu bạn nghĩ giá trị quá khó nhớ trong cơ sở 10, hãy thử cơ sở 2: 1111111111111111111111111111111


395
2018-06-01 17:05



@Nick Whaley: Không, 1111111111111111111111111111111 là tích cực. 11111111111111111111111111111111 sẽ là số âm :-) - Curd
Base 16 thậm chí còn dễ dàng hơn 7FFFFFFF - Nelson Galdeman Graziano
@Đông lại 11111111111111111111111111111111 số cơ sở-2 sẽ vẫn dương (một ví dụ tiêu cực trong base-2 sẽ là -1). Chuỗi bit đó chỉ là số âm nếu đại diện cho số bổ sung của 32 bit 2 :) - BlueRaja - Danny Pflughoeft
Dễ nhớ nhất sẽ là cơ sở 2.147.483.647. Sau đó, tất cả những gì bạn phải nhớ là 1. - big_tommy_7bb
@ tim_barber_7BB thực sự, đó là 10. - fscheidl


Đó là 10 chữ số, do đó, giả vờ đó là một số điện thoại (giả sử bạn đang ở Mỹ). 214-748-3647. Tôi không khuyên bạn nên gọi nó.


260
2017-09-18 17:24



Nói về ghi nhớ nó như một số điện thoại, có vẻ như có thể có một số kẻ gửi thư rác điện thoại sử dụng nó: mrnumber.com/1-214-748-3647 - Steven
"Không có" 748 "trao đổi ở Dallas. Con số này là giả mạo." - từ trang được liên kết bởi shambleh - Tarnay Kálmán
@Steven Tôi không nghĩ họ là những kẻ gửi thư rác, chỉ những người vô tình lưu trữ số điện thoại dưới dạng INT thay vì VARCHAR trong MySQL. - Zarel
Đã thử gọi nó. Nó reo một vài lần sau đó đi đến giai điệu quay số lỗi. = ( - Krythic


nếu bạn có thể nhớ toàn bộ số Pi, thì số bạn đang tìm kiếm ở vị trí 1.867,996,680 cho đến 1.867,996,689 số thập phân của Pi

Chuỗi số 2147483647 xuất hiện ở 1.867,996,680 chữ số thập phân của Pi. 3,14 ...... 86181221809936452346214748364710527835665425671614 ...

nguồn: http://www.subidiom.com/pi/


207
2017-10-26 22:19



bạn biết đấy, khi tôi bắt đầu đọc câu trả lời của bạn, tôi đã mong đợi một cái gì đó thực tế, giống như chữ số 20. - ExceptionSlayer
Điều này có vẻ khá thú vị. Bạn có quy tắc bộ nhớ nào khác để nhớ 1.867,996,680 không? Tôi cảm thấy khó nhớ khi chỉ mục bắt đầu tìm kiếm .... - Alderath
"nếu bạn có thể nhớ toàn bộ số Pi ..."- không, bạn không thể, nó là không hợp lý {có thể là một hoặc hai bài đăng trong phần Hỏi & Đáp này 8-D - SlySven
@Alderath Tôi thường nhớ nó như là 10 thập phân trong sqrt (2) bắt đầu từ số chữ số 380,630,713 .... - Henrik
Phải mất một tâm trí vô lý để ghi nhớ pi. - Joshua


Thay vì nghĩ về nó như một số lớn, hãy thử phá vỡ nó xuống và tìm kiếm các ý tưởng liên quan, ví dụ:

  • 2 lần bẻ khóa tối đa (thời gian nghỉ tối đa là 147)
  • 4 năm (48 tháng)
  • 3 năm (36 tháng)
  • 4 năm (48 tháng)

Ở trên áp dụng cho số âm lớn nhất; tích cực là trừ một.

Có lẽ sự cố ở trên sẽ không đáng nhớ hơn đối với bạn (điều này thật khó thú vị!), Nhưng hy vọng bạn có thể nghĩ ra một số ý tưởng!


153
2017-09-18 17:27



Đó là một trong những thiết bị khí nén phức tạp nhất mà tôi từng thấy. Ấn tượng. - Ben Hoffstein
Heh, thích của Derren Brown thực sự ủng hộ cách tiếp cận này - phá vỡ một số thành một cái gì đó ngẫu nhiên nhưng whieh là đáng nhớ hơn so với chỉ là một tải số: channel4.com/entertainment/tv/microsites/M/mindcontrol/remember/… - Luke Bennett
Tôi có một bản ghi nhớ tốt hơn: tất cả những gì bạn cần nhớ là 2 và 31, vì nó rõ ràng là chính xác 2 ^ 31! Oh, đợi đã ... - Tamas Czinege
@DrJokepu Tôi không chắc chắn về sự ưu tiên của nhà điều hành ... Điều đó có nghĩa là 2^(31!) hoặc là (2^31)!? - Alderath
Như ngớ ngẩn như thế này đầu tiên có vẻ ... nó thực sự hoạt động. - Matthew Swain


Giá trị âm lớn nhất (32 bit): -2147483648
(1 << 31)

Giá trị dương lớn nhất (32 bit): 2147483647
~ (1 << 31)

Ghi nhớ: "say rượu AKA say sưa"

drunk ========= Drinking age is 21
AK ============ AK 47
A ============= 4 (A and 4 look the same)
horny ========= internet rule 34 (if it exists, there's 18+ material of it) 

21 47 4(years) 3(years) 4(years)
21 47 48       36       48

136
2018-06-15 20:04



Thế giới khó nhớ nhất Mnemonic. Nếu bạn có thể ghi nhớ 0118 999 88199 9119 752 ... 3 bạn có thể ghi nhớ điều này. - BenM
@ Rondles Tôi nghĩ rằng nó thực sự là 7253 ở cuối. - Tim Tisdall
Không. Tuổi uống là 18 ở đây ... Có vẻ như tôi không thể sử dụng điều này ghi nhớ, cuộc sống của tôi bị hủy hoại. - Joffrey
@Aaren Cordova Họ từng nói rằng stackoverflow sẽ không bao giờ buồn cười, chẳng là gì ngoài một trang Q & A, tôi thường chỉ cho họ câu trả lời này. Điều này chỉ có thể được tạo ra bên trong tâm trí thiên tài, ý tôi là Là Nghệ thuật. - 9KSoft
Số nguyên 32 bit âm lớn nhất hoặc 64 bit cho số đó, là -1. - Fred Mitchell


Dù sao, lấy regex này (nó xác định nếu chuỗi chứa một số nguyên không âm ở dạng thập phân cũng không lớn hơn 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]

Có lẽ nó sẽ giúp bạn nhớ.


63
2018-06-01 16:44



Điều đó nghe có vẻ dễ dàng hơn và thú vị hơn nhiều với tôi. Trên thực tế nó thực sự dễ dàng hơn nhiều 2147483647. Điều này sẽ giúp ích rất nhiều cho OP - Sнаđошƒаӽ


Đó là cách tôi nhớ 2147483647:

  • 214 - bởi vì 2,14 xấp xỉ pi-1
  • 48 = 6 * 8
  • 64 = 8 * 8

Viết những thứ này theo chiều ngang:

214_48_64_
and insert:
   ^  ^  ^
   7  3  7 - which is Boeing's airliner jet (thanks, sgorozco)

Bây giờ bạn đã có 2147483647.

Hy vọng điều này sẽ giúp ít nhất một chút.


58
2017-07-05 11:11



Đẹp nhất! Tôi nghĩ rằng quy tắc 214 nên là pi - 1. Ngoài ra mặt nạ cho thấy 68 chứ không phải là 64. =) Đối với buff hàng không như tôi, giá trị 737 nên dễ nhớ liên kết nó với máy bay phản lực có kích thước trung bình của Boeing.
Bạn có thể đi xa hơn thế. Thả số thập phân và so sánh pi và 2 ^ 31-1. Trong cùng một vị trí bạn nhận được 141 vs 147, vì vậy chữ số cuối cùng chỉ trở thành 7. Sau đó, 592 so với 483, tất cả đều là một chữ số của nhau. Và 643 so với 647, nó trở thành một điều 7 lần nữa. - Peter Cooper
@PeterCooper Altho các số thập phân cho pi bắt đầu với 1415926_5_35 (Lưu ý 5, không phải là 4) - Moberg
Việc nhớ của tôi là lấy 4294967296 (dễ nhớ) và chia cho 2 - M.M