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。
分享名称:c语言位运算中 _C#语言
转载源于:http://www.36103.cn/qtweb/news39/9589.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联