取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Newbie
Newbie
530 次查看
注册日期: ‎03-26-2018

char类型强制转换问题

各位好,我在使用vivado调试ARM程序的时候,遇到了这么一个问题,还请各位帮忙解决。

unsigned char temp = 228;

char temp1 = 0;

double temp2 = 0;

 

temp1 = (char)temp;

temp2 = temp1*0.05;

 

按道理来说temp1应该被强制转换成了-28才对,但是这个转换一直没有生效,导致后面的乘法运算也都出错了。

相同的情况,我在TMS320C6000系列的DSP中运行就没有出错,在VC下也都没有出错,唯独在VIVADO下除了这个比较奇异的问题,不知道是不是由于编译器不一样导致的这个问题,这个问题该如何解决呢?

 

 

 

 

0 项奖励
1 条回复1
Highlighted
Teacher
Teacher
398 次查看
注册日期: ‎10-24-2018

回复: char类型强制转换问题

@dongzi_yang

Yes, Using 2018.3, if you print out the value of temp1 as in integer, you will see the value -28 as you expected.

Hope that helps

If so, please mark as 'solution accepted'

0 项奖励