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

【嵌入式学习】补码-加减乘除电路

目录

## 溢出

## 补码

## 乘法和除法的电路实现 

## 零检测电路


## 溢出

计算的结果超过了数据的容量

## 补码

八位数可以存储256位数【0000 0000 ~ 1111 1111】

那应该如何表示负数?

用最高位表示符号【0代表正数,1代表负数】

所以得出

【正数:0 000 0000 ~ 0 111 1111】128个正数。符号位为0,包含了数字0

【负数:1 000 0000 ~ 1 111 1111】128个负数。符号位为1,包含了数字0

由于两个符号位都包含数字0,所以得出一个+0,一个-0,这样会浪费一个byte的数据位,如何解决?

利用补码:把一个正数的二进制按位取反再加一就是负数的补码【避免一个+0,一个-0】

补码数据表示范围 -128~+127

十进制负数正数二进制按位取反再加一
-10000 00011111 11101111 1111
-30000 00111111 11001111 1101

利用补码计算5-3,实际上是5+(-3),用5的二进制加负三的补码得出2的二进制,让减法更简单

## 乘法和除法的电路实现 

乘法就是多次加法

除法就是多次减法,一直到结果小于0

加减乘除可以通过同一套电路实现

## 零检测电路

如果机器中的数据都是0,则实现部分操作


http://www.kler.cn/a/593575.html

相关文章:

  • Linux系统docker部署Ollama本地大模型及部署Hugging Face开源模型,ollama相关注意点,非ollama模型创建,模型量化,显存建议
  • 服务器相关的硬件知识
  • git推送代码相关学习——(一)
  • llama源码学习·model.py[3]ROPE旋转位置编码(2)旋转角度生成代码
  • pytest基础学习
  • 【北京迅为】iTOP-RK3568开发板OpenHarmony系统南向驱动开发UART接口运作机制
  • Python IP解析器 ip2region使用
  • P1540 [NOIP 2010 提高组] 机器翻译
  • cmake 之 CMakeLists.txt 中的函数是从哪里来的
  • 再学:ERC20-Permit2、SafeERC20方法 详解ERC721,如何铸造一个NFT以及IPFS的作用
  • Linux Vim 寄存器 | 从基础分类到高级应用
  • python学智能算法(八)|决策树
  • Deepseek结合企业数据挖掘平台能够给企业提升哪些效益?
  • 深入理解Python闭包与递归:原理、应用与实践
  • 【工具】huggingface 模型下载过程
  • 网络空间安全(37)获取webshell方法总结
  • RabbitMQ 集群降配
  • mysql-DELETE、DROP 和 TRUNCATE区别
  • Java protected 关键字详解及探究过程(详细、准确)
  • FastGPT 社区版快速部署指南