在线观看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

    文章

    822

    瀏覽量

    31992
  • 算術
    +關注

    關注

    0

    文章

    12

    瀏覽量

    7436
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Embedded Studio堆棧溢出預防功能

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

    算術運算期間發生除以零或下溢/溢出時,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 ?4708次閱讀

    堆棧溢出定義和處理方式

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

    java內存溢出排查方法

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

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

    與區別 1. 定義: 內存溢出(Memory Overflow)指的是程序在申請內存時,無法獲得足夠的內存空間,導致程序拋出異常或崩潰。當程序需要的內存超過了當前可用的內存時,就會發生內存溢出。 2. 區別: 內存
    的頭像 發表于 12-19 14:10 ?3601次閱讀
    主站蜘蛛池模板: 亚洲人成影院在线高清 | 美女黄页网站免费进入 | 深夜动态福利gif动态进 | 在线观看视频一区 | 伊人天天操 | 在线你懂得 | 亚洲精品色一区色二区色三区 | 夜夜春夜夜夜夜猛噜噜噜噜噜 | www.色av.com| 一区二区在线看 | 色综合久久丁香婷婷 | 中文字字幕码一二区 | 成年人网站免费观看 | 美女色18片黄黄色 | 一级片视频在线观看 | 美女被异性狂揉下部羞羞视频 | 人人草人| 一级做性色a爱片久久片 | 男女爱爱爽爽福利免费视频 | 亚洲国产欧美在线人成aaa | 婷婷丁香视频 | 超级乱淫小黄文小说 | 久久亚洲精品国产精品婷婷 | 国产美女一区二区三区 | 午夜三级视频 | 国产大片黄在线看免费 | 天天想天天干 | 婷婷在线五月 | 黄频网站免费大全在线观看 | 国产精品毛片天天看片 | 久国产精品久久精品国产四虎 | 手机在线观看一级午夜片 | 欧美系列在线观看 | 亚色影视 | 国产叼嘿视频网站在线观看 | 欧美网站黄| 欧美三级不卡在线观线看高清 | 欧美日韩高清一区 | 黄色字幕网 | 亚洲最大色网站 | 亚洲人成人网毛片在线播放 |