D_IN=(bit)(port&0x80);这句话在C中怎麽解释?
发布网友
发布时间:2023-05-13 22:14
我来回答
共1个回答
热心网友
时间:2023-05-17 05:58
bit这种类型没见过,想来应该是在这个程序中自定义的吧,也许就是typedef unsigned char,具体是什么,你看代码才知道,我不能乱猜的。
& 是按位进行“与”运算,即两个数的二进制形式,一位一位地计算,也就是11 得1, 10得0, 01得0, 00得0
port是个变量……
0X80,开头的0X是16进制的意思,所以,0X80 = 二进制的 1000000。前面应该还有一个0的,我省了。
所以,最终的解释就是
port 变量与01000000 按位进行“与”运算,因为其它位都是0,所以其实也就是只保留port 第7位的数,其它位全清0。再把结果转成bit类型。
不知道你的C语言什么水平,正常来说,应该看得懂,如果连十六进制、与运算都不知道的话,我想我也不会去解释什么是十六进制 和 与运算了……