在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Arithmetic overflow(算術溢出)信息是什么意思

麥辣雞腿堡 ? 來源:Microchip微芯 ? 作者:Microchip微芯 ? 2023-01-22 19:42 ? 次閱讀

(1)問:如果我給一個int整形賦值0xFFFF,我得到一個信息"arithmetic overflow in constant expression"(常數表達式里算術溢出)。為什么編譯器不是把它當做-1呢?

答:作為一個int整形,這個變量值的范圍只能是從-32768到32767。0xFFFF的值是等于65535,所以太大了。如果你確實不想使用有符號的值,可以使用unsigned int,或者直接使用-1或者~0。
一般來說,如果你想要一個所有位都為1的值,并且你不想指定它總共有多少位的話,使用~0是個好的選擇,例如:

OnLimit = ~0;

它將分配一個所有位都為1的值給這個變量,對于16位的int,這個值是0xFFFF(或-1)。

下面這個宏

#define ALL_BITS_SET (~0)

也可以很有用處。

(2)問:下面這些定義

#define XTAL 8000000
#define BEEP_FREQ 3200
#define BEEP_TIME XTAL/(64*BEEP_FREQ)-1 // = 38.0625

當我把BEEP_TIME賦給一個unsigned char時,上面這些也會給我"arithmetic overflow"的信息,而這個表達式計算的結果肯定是符合unsigned char的大小的。這究竟是怎么回事?

答:你需要確保在整個算術表達式里都是使用long型計算的。8000000是會自動地變成long型數據,但是3200和64并不是,所以64*3200是被編譯器評估為int型的長度,于是就發生算術溢出。使用一個'L'后綴可以強制為long型計算,例如:

#define BEEP_TIME XTAL/(64L*BEEP_FREQ)-1 // = 38.0625

注意這個'L'是附在64上——這使得它變成一個long型數據,然后64L*3200被評估下來就會按照32位長度來計算。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編輯器
    +關注

    關注

    1

    文章

    806

    瀏覽量

    31251
  • 算術
    +關注

    關注

    0

    文章

    12

    瀏覽量

    7390
收藏 人收藏

    評論

    相關推薦

    Embedded Studio堆棧溢出預防功能

    為了識別運行的嵌入式系統中的堆棧溢出問題,SEGGER編譯器通過為每個函數生成檢測代碼的方式來檢查堆棧溢出。該功能可以使用命令行開關-mstack-overflow-check來使能。對于安全系統,必須在
    發表于 07-14 11:08 ?644次閱讀

    算術運算期間發生除以零或下溢/溢出時,ARM926EJ-S內核的行為是什么?

    算術運算期間發生除以零或下溢/溢出時,ARM926EJ-S 內核的行為是什么。 我知道有些架構已經定義了行為,或者可以將其配置為觸發中斷以響應其中一個算術異常。 該處理器是否具有在運行時檢測其中一種情況的功能?
    發表于 02-22 07:35

    FPGA基礎學習筆記--組合邏輯電路-算術運算電路

    `FPGA基礎學習筆記--組合邏輯電路-算術運算電路+、-、*、/、%電路(1)加法電路:每1位大約消耗1個LE,示例代碼如下module arithmetic (input [7:0] iA
    發表于 02-23 16:45

    6678:sy***ios創建task時stack 溢出

    大師們,我遇到關于創建task時stack溢出。其條件如下:設置heapMemPArams.sizee為128MB,位置在DDR3中。在創建幾次task后systembios內核就崩潰。打印如下信息
    發表于 06-21 08:43

    警告:(751)再次以常量表達式運算溢出

    您好,我在用PIC18F開發警告時發現這個討厭的警告:(751)在訪問一個比特字段的數據時,在常量表達式中溢出算術。我已經閱讀了許多關于這個運算出現的線索,而不是關于移位操作出現的事實。我的代碼我
    發表于 09-26 17:24

    警告:(751)常量表達式中的算術溢出

    嗨,那里。當我編譯這個項目時,我遇到了這個警告。這里是我的代碼:警告顯示:困難。C:53:警告:(751)常數表達式中的算術溢出,然后我看了XC8編譯器用戶指南,并說:這個警告也可以由中間值溢出觸發
    發表于 11-20 15:25

    如何評估HDL代碼的標量以進行算術描述

    如何評估和計算算術描述的HDL代碼標量(可能是偽代碼或某些C源代碼),以及設計工作量?謝謝。 利達以上來自于谷歌翻譯以下為原文How to evaluate and calculate
    發表于 01-10 10:54

    VHDL Library of Arithmetic Uni

    VHDL Library of Arithmetic Units A comprehensive library of arithmetic units written
    發表于 06-14 09:08 ?26次下載

    VHDL Library of Arithmetic Uni

    VHDL Library of Arithmetic Units fdl A comprehensive library of arithmetic units written
    發表于 06-14 09:09 ?17次下載

    溢出,溢出的檢測方法有哪些?

    溢出,溢出的檢測方法有哪些?    在定點小數機器中,數的表示范圍為|x|
    發表于 04-13 11:02 ?1.2w次閱讀

    80X86指令系統-算術運算指令總結的詳細資料概述免費下載

    算術運算指令(Arithmetic)8086/8088提供加、減、乘、除算術操作; 特點:大部分都影響標志位,不同指令影響不同:(1) 加、減法指令影響 SF,ZF,AF,PF,CF,OF;(2
    發表于 09-05 15:12 ?0次下載
    80X86指令系統-<b class='flag-5'>算術</b>運算指令總結的詳細資料概述免費下載

    如何防止算術運算出現下溢和溢出錯誤

    。 Solidity支持有符號整數和無符號整數uint,最高可達256位。 這意味著當您的數字超過在分配的存儲位之下或之上時,您的算術運算容易出現下溢和溢出錯誤。
    發表于 07-05 10:59 ?4535次閱讀

    堆棧溢出定義和處理方式

    顧名思義,stack overflow 就是是棧溢出了。在進行數值運算時,我們常常要和運算結果的溢出打交道。數值運算結果可能上溢(overflow),也可能是下溢(underflow)
    的頭像 發表于 06-10 16:46 ?4553次閱讀

    java內存溢出排查方法

    Java內存溢出(Memory overflow)是指Java虛擬機(JVM)中的堆內存無法滿足對象分配的需求,導致程序拋出OutOfMemoryError異常。內存溢出是Java開發
    的頭像 發表于 11-23 14:46 ?3307次閱讀

    內存溢出與內存泄漏:定義、區別與解決方案

    與區別 1. 定義: 內存溢出(Memory Overflow)指的是程序在申請內存時,無法獲得足夠的內存空間,導致程序拋出異?;虮罎?。當程序需要的內存超過了當前可用的內存時,就會發生內存溢出。 2. 區別: 內存
    的頭像 發表于 12-19 14:10 ?2949次閱讀
    主站蜘蛛池模板: 亚洲成色999久久网站| 亚洲国产午夜看片| 天天色成人| 狠色网| 污女网站| 美女视频一区二区三区| 91精品久久久久含羞草 | ⅹxxxx68日本老师hd| 人人艹人人草| yy6080理aa级伦大片一级| 欧美性一区二区三区| 性欧美xxxxhd| 在线观看a网站| 在线观看视频一区| 成年女人毛片| 好吊色37pao在线观看| 色视频免费| 天天舔天天爱| 91桃色国产线观看免费| 国产香港三级理论在线| 免费视频淫片aa毛片| 色色色色色色网| 性欧美videofree另类超大| 四虎国产精品免费视| 五月激情婷婷综合| 欧美在线视频免费| 人人爱人人射| 日本黄视频网站| 日本特级黄色大片| 黄色18网站| 天天摸日日碰天天看免费| 福利社看片| 免费观看视频在线观看| 欧美高清另类| avtt香蕉| 亚洲色图图片| 五月激情五月婷婷| 猫色网站| 国产激情电影综合在线看| 国产激情电影综合在线看| 手机在线观看你懂得|