首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

下面这句语法看得痛苦,求!关于移位解决办法

2012-04-15 
下面这句语法看得痛苦,急求!!!关于移位#defineBASE0xE000E100*(volatile UINT32 *)( BASE + ((Num 5)

下面这句语法看得痛苦,急求!!!关于移位
#define BASE 0xE000E100
*(volatile UINT32 *)( BASE + ((Num >> 5) << 2)) = 1 << (Num) & 0x1F);


[解决办法]
什么东东。
BASE + ((Num >> 5) << 2)内存地址。
1 << (Num) & 0x1F)值。
*(volatile UINT32 *)( BASE + ((Num >> 5) << 2)) = 1 << (Num) & 0x1F);//指定的内存地址赋值,操作类型为UINT32。

[解决办法]
*(volatile UINT32 *)( BASE + ((Num >> 5) << 2)) = 1 << (Num) & 0x1F;
//分号前多了一个)
//在地址‘0xE000E100+Num整除8’处填写‘2的(Num%32)次方’对应的无符号32位整数。
//不保证对。
 
 

[解决办法]
括号配对吗?
[解决办法]
在地址‘0xE000E100+Num整除32再乘4’处填写‘2的(Num%32)次方’对应的无符号32位整数。

[解决办法]

探讨
#define BASE 0xE000E100
*(volatile UINT32 *)( BASE + ((Num >> 5) << 2)) = 1 << (Num) & 0x1F);

[解决办法]
因为<<优先级比&高
所以上面我的答案纠正为:
在地址‘0xE000E100+Num整除32再乘4’处填写‘(2的Num次方)除以32的余数’对应的无符号32位整数。

热点排行