keil 5.18 将一个数强制转换成short数据进行比较时出错
2017-02-06 14:08
302 查看
if (*(short *)ThresholdAddress == 0xffff)
{
threshold = thresholdDefault;
}
如上所示这个在调试当中一直为假,在看汇编代码与寄存器跟踪调试的时候发现与0xffff比较的数不是short型而是一个32bit的数据
如果换成
if (*(unsigned char *)ThresholdAddress == 0xff)
{
threshold = thresholdDefault;
}
可以得到正常结果
所以记录下来以后慢慢研究
{
threshold = thresholdDefault;
}
如上所示这个在调试当中一直为假,在看汇编代码与寄存器跟踪调试的时候发现与0xffff比较的数不是short型而是一个32bit的数据
如果换成
if (*(unsigned char *)ThresholdAddress == 0xff)
{
threshold = thresholdDefault;
}
可以得到正常结果
所以记录下来以后慢慢研究
相关文章推荐
- C语言学习2:sizeof ,数据类型,scanf,算式操作,赋值与比较操作,逻辑操作,位的操作,条件运算符,特异赋值结果,强制转换,使用变量要注意的
- 【ORACLE】一个简单实用的对数据进行行列转换并统计的SQL语句
- 【ORACLE】一个简单实用的对数据进行行列转换并统计的SQL语句
- C语言中数据类型之间怎样进行强制转换?
- 在plsql中,总是遇到在clob类型字段上存储数据出错--字符串太长,现在有一个比较简单的解决办法
- java数据类型之间的转换和什么地方要进行强制类型的转化
- 同一个表中的数据怎么进行比较
- 已知一个几乎有序的数组,几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离可以不超过k,并且k相对于数组来说比较小。请选择一个合适的排序算法针对这个数据进行排序。 给定一个int数组A,同时给定
- 一个AJAX列子,通过读取后台数据库数据转换为xml格式进行输出
- json数据与JAVA数据的转换 jsonJavaBean.netApache 自己编写了一个工具类,处理页面提交json格式数据到后台,再进行处理成JAVA对象数据 1、DTO:Data T
- 【ORACLE】一个简单实用的对数据进行行列转换并统计的SQL语句
- 向对话框传递数据DialogBoxParam;获取对话框返回的数据DialogBox;EndDialog;强制转换;
- java 数据装箱及练习-对一个字符串中的数字进行排序
- php 数据类型转换与比较
- 用标准C++进行string与各种内置类型数据之间的转换
- C++使用stringstream进行数据类型转换
- 如何进行各种码制数据之间转换
- iOS时间类型转换和各种数据类型进行转换
- 关于自定义实体集合绑定datagrid控件在进行编辑时出现错误"向原始数据存储区提交行时出错"的原因.
- 更新数据库所有表的某一个指定字段 ,附加对‘将 varchar 值转换为数据类型为 int 的列时发生语法错误’处理方法