全站数据
8 4 2 0 5 8 1

C语言带符号数的左移右移搞不清楚

证券百事通 | 简单学习,快乐成才!         
问题更新日期:2024-10-28 10:11:25

问题描述

C语言带符号数的左移右移搞不清楚,麻烦给回复
精选答案
最佳答案

对于位运算而言,运算对象可以是带符号的,也可以是无符号的。如果运算对象是带符号的且它的值为负,那么位运算如何处理运算对象的“符号位”依赖于机器。

左移运算符<<在右侧插入值为0的二进制位。

右移运算符>>的行为依赖于左侧运算对象的类型:如果是无符号的,在左侧插入值为0的二进制位;如果是带符号的,在左侧插入符号位的副本或值为0的二进制位,如何选择视具体环境而定。