51单片机a=a<<1; std=CY; 怎么改写成ARM
答案:3 悬赏:70 手机版
解决时间 2021-01-22 09:46
- 提问者网友:龅牙恐龙妹
- 2021-01-21 21:21
51单片机a=a<<1; std=CY; 怎么改写成ARM
最佳答案
- 五星知识达人网友:野慌
- 2021-01-21 22:38
左移:乘以2就可以左移了.
取最高位: 跟10000000相与后,判断结果是真还是假就行. 如果是真就表示最高位是1,如果是假就表示最高位是0.
int b = a;
for(i=0;i<4;i++)
{
if (b & 0x80 == 0)
std = 0;
else
std = 1;
b = b * 2;
}
当然,也还有其他方法可以实现你这个功能.
取最高位: 跟10000000相与后,判断结果是真还是假就行. 如果是真就表示最高位是1,如果是假就表示最高位是0.
int b = a;
for(i=0;i<4;i++)
{
if (b & 0x80 == 0)
std = 0;
else
std = 1;
b = b * 2;
}
当然,也还有其他方法可以实现你这个功能.
全部回答
- 1楼网友:鸠书
- 2021-01-22 00:36
用与或的形式取追问与或不能只取出一位啊
- 2楼网友:想偏头吻你
- 2021-01-21 22:56
std=1:0?(a&0x80)追问这不能把每次左循环移位后的第一位取出来吧?追答一次取一位呀。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯