当前位置: 首页 > news >正文

76.有符号数累加运算

有符号数负数补码相加时,全部位都参与运算,包括符号位,当相加和超出定义位宽时自动丢掉高位。

出现问题原因分析:

虽然输入数据HIdata_wire[32*(DEVMUM/2)-1:0]定义为有符号数,但其内部不是一个数据,相当于串行数据存储器,因此会将其整体看成一个有符号数,当累加时取出的数据依然是按默认无符号来对待,导致数据出错。(按无符号数相加了)

-2的补码:2^32-2=4294967296-2=4294967294

-4的补码:2^32-4=4294967292

4294967294 + 4294967292=8,589,934,586

解决办法:

累加前进行强制类型转换为有符号数

计算结果正确。

注意:当数据被认为是无符号数时,补码所有位直接相加,也就是按正数相加。

         当被认为是负数时,会自动匹配出符合数值的数据位宽,然后相加求和舍弃后再进行符号              位的扩展。(扩展的符号位不参与运算)。自己解释的

         VHDL强制类型转换为 TO_SIGNED(-5,8)。

http://www.dtcms.com/a/197616.html

相关文章:

  • 从坏道扫描到错误修复:HD Tune实战指南
  • 小白到高手的人工智能学习笔记之初步了解pytorch
  • Ubuntu24.04下安装ISPConfig全过程记录
  • AM32电调学习解读八:无感驱动相位波形解析
  • 架构思维:构建高并发扣减服务_分布式无主架构
  • SQL性能分析
  • 第二章 苍穹外卖
  • Mamba LLM 架构简介:机器学习的新范式
  • 互联网大厂Java面试场景:从Spring Boot到分布式缓存技术的探讨
  • QT聊天项目DAY11
  • 如何实现RTSP和RTMP低至100-200ms的延迟:直播SDK的技术突破
  • 数据结构 -- 树形查找(二)平衡二叉树
  • 【GPT入门】第39课 OPENAI官方API调用方法
  • 【数据结构】2-2-2 顺序表的插入删除查找
  • 【Linux高级全栈开发】2.1.3 http服务器的实现
  • ngx_http_proxy_protocol_vendor_module 模块
  • FreeSWITCH 简单图形化界面43 - 使用百度的unimrcp搞个智能话务台,用的在线的ASR和TTS
  • STM32SPI通信基础及CubeMX配置
  • 从零开始实现大语言模型(十五):并行计算与分布式机器学习
  • symfonos: 1靶场
  • 算法第21天 | 第77题. 组合、216. 组合总和 III、17. 电话号码的字母组合
  • React方向:react的基本语法-数据渲染
  • API 玩出新花样:我如何构建自己的智能翻译助手
  • 08 Nginx模块
  • 【Docker】Docker Compose方式搭建分布式协调服务(Zookeeper)集群
  • Text2SQL:自助式数据报表开发---0517
  • Java求职者面试:从Spring Boot到微服务的技术点解析
  • 【GESP】C++三级真题 luogu-B3925 [GESP202312 三级] 小猫分鱼
  • 【PostgreSQL系列】PostgreSQL 复制参数详解
  • MLLM常见概念通俗解析(四)