找回密码
 注册
关于网站域名变更的通知
查看: 200|回复: 2
打印 上一主题 下一主题

求助C语言问题 想得到dat的最高位

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-3-3 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
P2^0=dat&0x80;​
) B9 x2 M# q, L$ u和​- Y1 f7 D5 Z" C0 [
if((dat&0x80)>0)​
0 M  K4 P* c) ~+ {3 UP2^0=1;​
' x  V$ `3 F9 M. k  w& ^) x+ qelse if​- k$ F; E$ ]( M* k, C
P2^0=0;​" ^( \& x$ k) C3 C- m! E
和​
" K' z8 u7 @/ W5 M! r5 d/ FP2^0=dat>>7;​4 Y! D4 h1 {6 A0 K) ?/ \1 t6 v+ K
这三个代码是不是一个意思啊?​' V" y7 k( D0 F# s
就是想得到dat最高位。​1 [! w& j( B& m, l
什么情况下用哪个啊?1 K/ q, P9 y- v

该用户从未签到

2#
发表于 2022-3-3 10:03 | 只看该作者
6 u, B2 c2 ^8 P8 k) j' a. e- ~; J& `
P2^0=dat&0x80;这个语句结果是P2.0永远是02 |8 p, d: r$ F' u- K4 s
if((dat&0x80)>0)- ^" ]% Z) O$ |- t
P2^0=1;& ~! S+ ~  q" x( n' [- [* k) m' L; v+ K
else if
6 \& t# [2 W+ s$ V7 Q- J+ fP2^0=0;2 \+ L+ T* F# A8 s$ F1 p
这个语句就说明当条件满足时P2.0是1,否则是07 U3 p. v) O# I
P2^0=dat>>7;这个语句是P2.0有可能是1也有可能是0
5 h  E) Z9 z2 F$ X/ d8 f5 g; k所以上面那三个语句是不同的,结果也是不同的

该用户从未签到

3#
发表于 2022-3-3 10:17 | 只看该作者
1 ~, q1 I: L2 e. @; d
三个基本上是一个意思。但是要判断dat的最高位并赋值给P2^0, 应当用第2种。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-13 10:38 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表