Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSAPP第二章课后习题 #36

Open
yankewei opened this issue Oct 9, 2020 · 0 comments
Open

CSAPP第二章课后习题 #36

yankewei opened this issue Oct 9, 2020 · 0 comments

Comments

@yankewei
Copy link
Owner

yankewei commented Oct 9, 2020

1. 写一个 C 表达式,在下列描述的条件下产生 1,而在其它情况下得到 0,假设 x 是 int 类型。

A. x 的任何位都等于1。

任何位都等于 1,那么用位运算符 ~ 取反后,所有位都等于 0,然后再用逻辑运算符 !,那肯定是1。
假设不是所有的位都等于1,用位运算符 ~ 取反后,也不是所有位都等于0,然后在用逻辑运算符 !,答案肯定是0。
所有先用位运算符 ~ 取反,在用逻辑运算符 ! 即可。
!~x

B. x 的任何位置都等于0。

这个就很简单了,直接用逻辑运算符 ! 即可。因为只有当所有位都是 0,逻辑运算符 ! 才返回 1。
!x

C. x 的最低有效子节中的位都等于 1 。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant