奇葩的问题,在线等交流

Pl_ayboY 2013-06-07 11:34:59
加精
我弄单品机做小车时遇到了一个奇怪的问题,让我百思不得骑姐啊.
坐等大神讨论.
我有一个UNSIGNED CHAR 数组u8 *img;
一个SIGNED CHAR 变量用来访问数组 s8 j;
j=-6;(oxFA)
现在img指向0x1FFF125B
但是我做 *(img+j)语句时,我想"0x1FFF125B-6"
但确是"0x1FFF125B+0xFA"
蛋疼了,求在线求讨论...
...全文
2495 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
疾风130709 2013-07-09
  • 打赏
  • 举报
回复
不懂,纯支持。。。。。。。。。。。。。。
hantwen 2013-07-09
  • 打赏
  • 举报
回复
比较同意12楼强制转换解决法,无符号和有符号相加结果要得到32位无符号指针,编译器可能会把无符号8位强制转换为有符号8位,而负数以补码存在,so...
i513536373 2013-06-27
  • 打赏
  • 举报
回复
你错别字太多。。都不知道怎么回答你。。
McYeah 2013-06-25
  • 打赏
  • 举报
回复
不对啊,楼主,不用判断的吧!你直接原来那样就是对啊,运算结果不对吗? 0x1FFF125B-6=0x1FFF125b+0xfffffffa=0x1fff1255! 所以求出来指向应该是完全正确的啊!
瑶山仔 2013-06-25
  • 打赏
  • 举报
回复
我还在用着8位机……………………
mbugaifc 2013-06-23
  • 打赏
  • 举报
回复
Pl_ayboY 2013-06-22
  • 打赏
  • 举报
回复
引用 10 楼 conmajia 的回复:
我想知道你用的什么牛逼的单片机。。
飞思卡尔(K60) MK60DN512ZVLL10
laitaotao533 2013-06-21
  • 打赏
  • 举报
回复
就是有无符合 的问题嘛 强制转换 一下撒!
u011154573 2013-06-21
  • 打赏
  • 举报
回复
好目verygood
  • 打赏
  • 举报
回复
BillYongke 2013-06-20
  • 打赏
  • 举报
回复
我弄单品机做小车时遇到了一个奇怪的问题,让我百思不得骑姐啊. 坐等大神讨论. 我有一个UNSIGNED CHAR 数组u8 *img; 一个SIGNED CHAR 变量用来访问数组 s8 j; j=-6;(oxFA) 现在img指向0x1FFF125B 但是我做 *(img+j)语句时,我想"0x1FFF125B-6" 但确是"0x1FFF125B+0xFA" 蛋疼了,求在线求讨论... img 为指针器类型应该比unsigned Char大; J仅为signed Char类型,觉得你将J变换一下类型,与指针的地址类型一样大,这样相加就没有问题了。
u011139146 2013-06-20
  • 打赏
  • 举报
回复
难道奇葩一现
lr2131 2013-06-19
  • 打赏
  • 举报
回复
换成img[j],应该是可以的,[]内是负数也可以,你试试。
u011124655 2013-06-19
  • 打赏
  • 举报
回复
[/img]
u011124655 2013-06-19
  • 打赏
  • 举报
回复
u011124655 2013-06-19
  • 打赏
  • 举报
回复
mayunshui 2013-06-19
  • 打赏
  • 举报
回复
大体看了下 应该是有符号和 无符号数的处理问题 在这 *(img+j) 统一用无符号数做运算,
heliji1993 2013-06-19
  • 打赏
  • 举报
回复
南京江宁就 可能今年
我请客 2013-06-19
  • 打赏
  • 举报
回复
我也想知道啊, 求解。
深圳老码农 2013-06-19
  • 打赏
  • 举报
回复
过来涨涨知识的说
加载更多回复(20)

27,383

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧