C++中獲取int最大與最小值(補)

上文中,我們學習了C++中獲取int最大與最小值的兩種方法:C++庫和移位運算,這篇文章將解決在移位運算中遇到的各種報錯,并提出一種新的生成int最值的方法

上文鏈接:http://t.csdnimg.cn/cn7Ad

移位運算取最值常見報錯

DevC++報錯
Line 35: Char 57: runtime error: signed integer overflow:-2147483648 - 1 cannot be represented in type 'int' 
(solution.cpp) 
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior prog_joined.cpp:44:57
源碼
return int(max(min(sign*ans, (long long)((1<<31)-1)), (long long)(1<<31)));
原因&解決方法

這個錯誤提示表明在程序中發生了有符號整數溢出。具體來說,-2147483648 - 1 這個表達式導致了一個無法在類型 int 中表示的結果。

在 C++ 中,int 類型的取值范圍通常是從 -21474836482147483647(這是32位系統中的標準范圍),因此 -2147483648 - 1 將導致溢出,得到的結果 -2147483649 不能用 int 類型表示。

為了避免這種溢出,可以考慮使用更大的數據類型來保存結果,例如 long long 類型。修改代碼如下:

return int(max(min(sign*ans, (long long)((1LL<<31)-1)), (long long)(1<<31)));

十六進制取int最值

直接上代碼

	cout<<"int_max: 0x7FFFFFFF	"<<0x7FFFFFFF<<endl;cout<<"int_min: 0x80000000	"<<int(0x80000000)<<endl;

輸出

我個人感覺這種方法更易于理解,也更方便運用

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/14570.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/14570.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/14570.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

匯編語言(STC89C52)

指令是計算機計算CPU根據人的意圖來執行某種操作的命令。一臺計算機所執行的全部指令的集合&#xff0c;稱為這個CPU的指令系統。而想要使計算機按照人們的要求完成一項工作&#xff0c;就必須讓CPU按順序執行預設的操作&#xff0c;即逐條執行人們編寫的指令。這種按照人民要求…

C++ 寫的_string類,兼容std::string, MFC CString和 C# 的string

代碼例子&#xff1a; using namespace lf; int main() { CString s1 _t("http://www.csdn.net"); _string s2 s1; CString s3 s2; _pcn(s1); _pcn(s2); _pcn(s3); return 0; } 輸出&#xff1a; _Str.h /***************************************…

網創教程:WordPress插件網創自動采集并發布

網創教程&#xff1a;WordPress插件網創自動采集并發布 使用插件注意事項&#xff1a; 如果遇到404錯誤&#xff0c;請先檢查并調整網站的偽靜態設置&#xff0c;這是最常見的問題。需要定制化服務&#xff0c;請隨時聯系我。 本次更新內容 我們進行了多項更新和優化&#x…

深入解析kube-scheduler的算法自定義插件

目錄 ?編輯 一、問題引入 二、自定義步驟 三、最佳實踐考慮 一、問題引入 當涉及到 Kubernetes 集群的調度和資源分配時&#xff0c;kube-scheduler 是一個關鍵組件。kube-scheduler 負責根據集群的調度策略&#xff0c;將 Pod 分配到適當的節點上。kube-scheduler 默認使…

python爬蟲學習代碼1

百度翻譯&#xff1a;利用爬蟲技術模擬人工查詢英文單詞&#xff0c;將查到的信息保存到本地 import requests import json # 1.指定url post_url https://fanyi.baidu.com/sug # 2.UA標識 headers {"User-Agent": Mozilla/5.0 (Windows NT 10.0; Win64; x64) Appl…

pyqt6入門案例

效果預覽 hello.ui <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0"><class>Dialog</class><widget class"QDialog" name"Dialog"><property name"geometry"><…

android studio接入facebook踩坑1

今天在接入facebook第三方登錄的時候&#xff0c;點擊登錄按鈕&#xff0c;APP閃退&#xff0c;并報錯 java.lang.RuntimeException Failure delivering result ResultInfo{whonull,request64206,result-1} 新文章鏈接https://lengmo714.top/facebook1.html 如下圖&#xff1a;…

OpenGL學習入門及開發環境搭建

最近學習OpenGL開發&#xff0c;被各種openGL庫搞得暈頭轉向&#xff0c;什么glut, glew glfw glad等等。 可以參考這邊博客:OpenGL 下面的 glut freeglut glfw 都是個啥_glx wgl的中文-CSDN博客 glfw是glut的升級版&#xff0c;跨平臺的主要處理窗口 事件相關。 glad是glew…

React項目知識積累(四)

1.useMemo( ) 在 React 中&#xff0c;useMemo 是一個 Hook&#xff0c;用于記憶計算結果&#xff0c;只有當依賴項之一發生變化時&#xff0c;才會重新計算。這有助于避免不必要的計算和渲染&#xff0c;從而提高應用程序的性能。 基本語法如下&#xff1a; const memoized…

html多節點生成圖片并導出zip包

html多節點生成圖片并導出zip包 背景 在做項目時遇到一個要將html節點展示的圖片列表統一導出為zip包的需求。 難點 將html節點生成圖片將多張圖片加入zip包中&#xff0c;然后下載 解決html生成圖片問題 參考html截圖的思路使用 pnpm add html-to-image如何將圖片資源生成z…

鴻蒙OS開發:【一次開發,多端部署】(多設備自適應能力)簡單介紹

多設備自適應能力 介紹 本示例是《一次開發&#xff0c;多端部署》的配套示例代碼&#xff0c;展示了[頁面開發的一多能力]&#xff0c;包括自適應布局、響應式布局、典型布局場景以及資源文件使用。 名稱簡介 開發前請熟悉鴻蒙開發指導文檔&#xff1a;gitee.com/li-shizhe…

數據可視化技術頭歌測試合集

努力是為了不平庸~ 學習的最大理由是想擺脫平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;遲一天就多一天平庸的困擾 目錄 時間趨勢可視化-柱形圖 第1關&#xff1a;“大胃王”比賽數據柱形圖繪制——繪制柱形圖的基本步驟 任務描述 相關知識 觀察和處理數據 繪…

Linux中gcc/g++的基本使用

目錄 gcc/g的使用gcc/g是如何生成可執行文件的預處理編譯匯編鏈接 庫.o文件是如何與庫鏈接的&#xff1f; debug版本和release版本 gcc/g的使用 在windows中&#xff0c;我們在VS中編寫好了代碼之后就可以直接在VS中對源碼進行編譯等操作后運行 而在Linux下&#xff0c;我們可…

LeetCode 279 —— 完全平方數

閱讀目錄 1. 題目2. 解題思路3. 代碼實現 1. 題目 2. 解題思路 此圖利用動態規劃進行求解&#xff0c;首先&#xff0c;我們求出小于 n n n 的所有完全平方數&#xff0c;存放在數組 squareNums 中。 定義 dp[n] 為和為 n n n 的完全平方數的最小數量&#xff0c;那么有狀態…

vue 展示svg矢量圖可縮放拖動

使用插件&#xff1a;svg-pan-zoom <template> <!-- svg圖--><div id"svgContainer"></div> </template><script> import svgPanZoom from svg-pan-zoom import svgFile from ../datav/img/220kVscb.svg // 路徑根據實際情況調…

MySQL存儲過程實現累加運算 1+2+…+n 等于多少?

MySQL創建存儲過程&#xff0c;實現累加運算&#xff0c;計算 12…n 等于多少。具體的代碼如下 1、實現計算123…n的和 DELIMITER // CREATE PROCEDURE sp_add_sum_num(IN n INT) BEGIN DECLARE i INT; DECLARE sum INT; SET i 1; SET sum 0;WHILE i < n DO SET sum …

若依框架實戰指南:從入門到精通

在當今快節奏的軟件開發環境中&#xff0c;選擇一個高效、可靠的開發框架至關重要。若依框架&#xff08;RuoYi&#xff09;作為一個基于Spring Boot和MyBatis的快速開發平臺&#xff0c;以其強大的功能和易用性受到了廣泛歡迎。本文將詳細介紹若依框架的使用方式&#xff0c;包…

計算機組成結構—中斷和異常

一、基本概念和分類 計算機在執行程序的過程中&#xff0c;有時會遇到一些異常情況或者特殊請求&#xff1b;這時就需要計算機暫停正在運行的程序&#xff0c;轉而先去處理這些異常或特殊請求&#xff0c;處理結束之后再返回程序的斷點處繼續執行。這種處理方式就被稱為 “中斷…

頂堅北斗有源終端有什么功能跟用途

頂堅北斗有源終端作為現代衛星導航與通信技術融合的杰出代表&#xff0c;其用途廣泛且功能強大。在廣袤無垠的偏遠山區、深邃的海洋以及荒蕪的沙漠中&#xff0c;當用戶面臨移動通信信號無法覆蓋的困境時&#xff0c;北斗有源終端便成為了連接世界的橋梁。 該終端的核心功能之一…

PE文件(六)新增節-添加代碼作業

一.手動新增節添加代碼 1.當預備條件都滿足&#xff0c;節表結尾沒有相關數據時&#xff1a; 現在我們將ipmsg.exe用winhex打開&#xff0c;在節的最后新增一個節用于存放我們要增加的數據 注意&#xff1a;飛鴿的文件對齊和內存對齊是一致的 先判斷節表末尾到第一個節之間…