单片机中 各种数据类型再寄存器的存储形式

[复制链接]
816|1
 楼主| 446005031 发表于 2016-2-23 13:51 | 显示全部楼层 |阅读模式
比如说 一个 char的 -1  转换为unsigned char 为ff ,为什么呢
我知道 -1在寄存器里存的是 11111111(补码),但是如果转成unsigned char 时 是直接把寄存器里的补码拿过来? 那无符号数的话 是啥就存啥吗?

是不是  假如说 现在寄存器里存的是 11111010 如果是无符号数 就是11111010(一样)如果是有符号数的话 就是10000110(反补码)?


df_flying 发表于 2016-2-23 20:16 | 显示全部楼层
你看下 char  类型的范围(-127~127) 和unsigned char 类型范围(0-255)  明白了不? 只有在有负数的声明时(如 int  、signed **)时 处理器才会去判断是否需要用最高位做正负判断。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

35

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部