完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用XC8编译器。我有一个定义为UINT16或无符号短int x的变量。然后我定义一个变量UINT32或无符号长int x_squared。当我遍历代码x=506或1FA十六进制时。下一个语句是x_squared=x*x;x_square的结果是E824十六进制,而不是我所期望的3E824。我不明白为什么,谢谢
|
|
相关推荐
3个回答
|
|
这就是用C进行计算的方法。由于“=”右边的两个参数都是16位,所以使用16位计算来完成,并且在完成计算之后只转换为32位。您需要将一个参数转换为32位来强制进行32位计算。
|
|
|
|
十六进制数通常用前缀0x来写,例如0x3e824。
|
|
|
|
谢谢!
|
|
|
|
只有小组成员才能发言,加入小组>>
4884 浏览 9 评论
1857 浏览 8 评论
1799 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
2992 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2086 浏览 5 评论
490浏览 1评论
353浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
395浏览 0评论
288浏览 0评论
1043浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-14 16:16 , Processed in 0.952232 second(s), Total 52, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号