当前位置: 技术问答>linux和unix
关于Unix环境高级编程(第二版)的65页提问
来源: 互联网 发布时间:2016-11-12
本文导语: 65页讲到的是修改文件描述符的状态标志,有这么一句 val &= ~flags; 这句按照我的理解就是,取得flags变量的反,然后再与val进行&运算,把最后的值赋给val 但是书上的解释却是说: ------ 此语句使用当前文件状态标志...
65页讲到的是修改文件描述符的状态标志,有这么一句
val &= ~flags;
这句按照我的理解就是,取得flags变量的反,然后再与val进行&运算,把最后的值赋给val
但是书上的解释却是说:
------
此语句使用当前文件状态标志值val与flags的补码进行逻辑“与”运算。
------
这我就太想不明白了,~明明是按位取反的作用,为什么这样解释???个人觉得很可能是翻译出的错,但是都是大师作品,而且是第二版,所以希望大家给我个解释……这句意思我是理解的,就是取val之前已经有了的文件状态标志,去除里面的flag标志,得到最后的结果吧~~
val &= ~flags;
这句按照我的理解就是,取得flags变量的反,然后再与val进行&运算,把最后的值赋给val
但是书上的解释却是说:
------
此语句使用当前文件状态标志值val与flags的补码进行逻辑“与”运算。
------
这我就太想不明白了,~明明是按位取反的作用,为什么这样解释???个人觉得很可能是翻译出的错,但是都是大师作品,而且是第二版,所以希望大家给我个解释……这句意思我是理解的,就是取val之前已经有了的文件状态标志,去除里面的flag标志,得到最后的结果吧~~
|
英文版
This statement logically ANDs the one's complement of flags with the current val.
one's complement
基本翻译
[计] 二进制反码
网络释义
one's complement:二进制反码
This statement logically ANDs the one's complement of flags with the current val.
one's complement
基本翻译
[计] 二进制反码
网络释义
one's complement:二进制反码