UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Newbie dongzi_yang
Newbie
418 次查看
注册日期: ‎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
Teacher xilinxacct
Teacher
286 次查看
注册日期: ‎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 项奖励