在C和C ++中,&&运算符将仅返回0或1,即与true等效的int或false.在Java和C#中,向&&提供int甚至是非法的-操作数必须已经是布尔值.对于a和b的所有合法值,我不知道a && b == a & b是哪一种语言.so if I have x = 0x01 and y = 0xff and I do x & y, I would get 0x01. If I do x && y do I still get 0x01, but the computer just says its true if its anything than 0x00? My question is are the bits the same after the operation regardless of bit-wise or logical AND/OR, but the computer just interprets the final result differently? In other words are the hex values of the result of & and && (likewise | and ||) operations the same?edit: talking about C here 解决方案 The answer depends on the precise language in use.In some weakly-typed languages (e.g. Perl, JavaScript) a && b will evaluate to the actual value of b if both a and b are "truthy", or a otherwise.In C and C++ the && operator will just return 0 or 1, i.e. the int equivalent of true or false.In Java and C# it's not even legal to supply an int to && - the operands must already be booleans.I don't know of any language off the top of my head where a && b == a & b for all legal values of a and b. 这篇关于就十六进制结果而言,按位与逻辑“与/或"运算的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!