如果作为二元运算符,^ 表示按位异或,即:对应位相同为 0,相异为 1。
操作符 &^,按位置零,例如:z = x &^ y,表示如果 y 中的 bit 位为 1,则 z 对应 bit 位为 0,否则 z 对应 bit 位等于 x 中相应的 bit 位的值。
对于有符号的整数来说,是按照补码进行取反操作的(快速计算方法:对数 a 取反,结果为 -(a+1) ),对于无符号整数来说就是按位取反
计算过程
以3为例 3在内存中补码为 0*** 0011
取反 1*** 1100
-1操作 1*** 1011
除符号位取反 1*** 0100 结果为-4
-------------------------------------------
以9为例 9在内存中补码为 0*** 1001
取反 1*** 0110
-1操作 1*** 0101
除符号位取反 1*** 1010 结果为-10
-------------------------------------------
以-5为例 -5在内存中为的补码为 1*** 1011
为什么呢
-5源码 1*** 0101
除符号取反 1*** 1010
+1操作 1*** 1011
-------------------------------------------
那么-5取反怎么算
补码 1***1011取反为 0***0100
因为符号位为0,所以是正数了,正数的补码反码源码都是一个,所以是4
===================================
再看-1
-1源码 1*** 0001
除符号取反 1*** 1110
+1操作 1*** 1111
补码 1*** 1111 取反为 0*** 0000
因为符号位为0,所以是正数了,正数的补码反码源码都是一个,所以是0
go语言取反输出的例子看这里
英语里不用冒号的,基本都用逗号和破折号,或者直接用从句的连词,或者用非谓语来解决。
在英文中的用法
⒈ 冒号用于对后面内容的介绍或解释,如 This is her plan: go shopping.
⒉ 冒号用于名单之前,特别是一个竖排的名单。
We transferred three employees to new branches:
· Tony Wang to New York City
· Mike Jackson to Tokyo
· Mark Foster to Paris
当名单横排的时候,冒号要用在一个完整的句子之后,如 We need seven people: three students,three engineers,and a professor.
⒊ 冒号用于一个正式的引用之前。如 The professor said: “It was horrible.”
⒋ 冒号也可用于商业或正式信函的称谓后面,如 Dear Mr. Lee:(美国英语中,信件或演说词的称呼语之后用冒号,而在英国英语中多用逗号。)
⒌ 冒号用于数字时间的表示,如16:45 或4:45 p.m.
⒍ 冒号用于主标题和副标题之间,如 Web Directory: World and Non-U.S. Economic Data
扩展资料
使用注意
⑴ 运用冒号时要注意其提示范围。冒号提示的内容的末尾用句号。如果一个句号前的内容不全是冒号提示的,则这个冒号用得不正确。例如:
这种惊人的事实证明:人如果老想着钱, 看不到敌人的腐蚀进攻,就会走入歧途,可见这些事实是可以作为活教材的。
(句中冒号只提示到了"歧途",不包括后边,所以用错了。应把“歧途”后面的逗号改为句号。)
⑵ 没有特别提示的必要就不要用冒号。如:
他表示:一定要来参加会议。(冒号应该删去)
比赛的结果出人预料:老年队竟打败了青年队。(冒号应该改为逗号)
⑶ 在句子内部,不能用冒号。如:
老师说了一声:“下课!”就走了。(句中不能用冒号,应删去。)
⑷ “某某说”、“某某想”等后边常用冒号。但有时不想强调提示语,或不直接引述别人的话,则不用冒号而用逗号。如果“某某说”是在所有引文的后边,“说”后用句号。
⑸一般说来,一句话里只适合用一个冒号。如果一个冒号范围里又用冒号,就形成了冒号的套用。应设法避免套用冒号。如:
心理学研究表明:影响儿童心理发展有三个重要因素:遗传、环境和教育。(前一个冒号应改为逗号;或调整语序,变更为“心理学研究表明:遗传、环境和教育是影响儿童心理发展的三个重要因素。”)
参考资料来源:百度百科-冒号