c语言位运算中 _C#语言
创始人
2024-10-15 08:42:12

C语言和C#语言都支持位运算,但它们的实现方式略有不同,以下是这两种语言中常见的位运算符的详细解释:

c语言位运算中 _C#语言(图片来源网络,侵删)
运算符 C语言 C#语言 描述
& 按位与操作
\ 按位或操作
^ 按位异或操作
~ 不在 按位取反操作
<> 左移操作
>> 右移操作

按位与(&):当两位都是1时,结果才为1,5(101 in binary) & 3(011 in binary) = 1 (001 in binary)。

按位或(\|):只要有一位是1,结果就为1,5(101 in binary) \| 3(011 in binary) = 7 (111 in binary)。

按位异或(^):当两位相同时,结果为0;当两位不同时,结果为1,5(101 in binary) ^ 3(011 in binary) = 6 (110 in binary)。

按位取反(~):将二进制数的每一位取反。~5(101 in binary) = 6 (in binary: 110, because the computer uses two's complement representation for negative numbers)。

左移(<<):将二进制数的所有位向左移动指定的位数,5(101 in binary) << 2 = 20 (10100 in binary)。

右移(>>):将二进制数的所有位向右移动指定的位数,5(101 in binary) >> 2 = 1 (1 in binary)。

注意:在C语言中,右移运算符">>"的行为取决于其操作数的类型,如果操作数是无符号整数,那么右移后空出的位将被填充为0,如果操作数是有符号整数,那么右移后空出的位将被填充为原来的符号位(即,如果原来的数字是正数,则填充0;如果原来的数字是负数,则填充1),在C#语言中,无论操作数的类型如何,右移后空出的位总是被填充为0。

相关内容

热门资讯

勤享科技取得托盘传递装置专利,... 国家知识产权局信息显示,广东省勤享科技有限公司取得一项名为“一种托盘传递装置”的专利,授权公告号CN...
和你一起品味云手机体验良好的平... 在当今数字化时代,云手机作为一项创新性的科技产品,正逐渐走进人们的视野,为游戏玩家和工作室等人群提供...
【财经早报】新型电池,重大突破... 重要新闻提示 我国科学家打造出安全、抗冻、耐热新型电池 速腾聚创:预计2025年第四季度首次实现单季...
8300mAh是真香,但论真实... 讲个道理,对一加手机来讲或许在旁人眼里它真的不是什么主流品牌,最多说句好听的话,它就是一个名副其实次...
热气腾腾晒小家|航天夫妻回乡过... 金山朱泾镇万联村的年味,早早就漫遍了街巷田埂。肉香、酱香味混着糯米的甜,在乡间的风里打转。陈箭驰的车...