1. 对于无符号数的左移和右移,因为不涉及到符号位的问题,比较好理解:
    左移低位补零,高位舍弃
    右移高位补零,低位舍弃

  2. 对于有符号数的左移和右移,因为符号位的参与,可能各个编译器的实现方式上有差别
    我在/home/utils/gcc-5.2.0/bin/g++ 这个g++编译器的版本上试了下:
    左移低位补零,高位舍弃(和无符号数的实现相同),这意味着本来一个正数,在移位的过程中,可能一会儿变成负数,一会儿又变回正数,然后再变负数···这种跳跃的情况。
    右移高位补符号位,低位舍弃。所以如果一个int类型的-1, 进行右移操作,无论进行多少次,结果仍然为-1,因为-1 = 1111 1111 1111 1111 1111 1111 1111 1111b.

另外,char类型,其实是一个int8_t类型,是一个有符号的8bit整数类型。

参考:C语言中无符号数和有符号数的左移和右移

有符号数的左移和右移相关推荐

  1. C符号之逻辑运算符 左移与右移 自增自减

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本篇文章 ...

  2. C学习:无符号有符号数的移位问题分析总结

    C学习:无符号有符号数的移位问题分析总结 移位原则 移位分析 参考资料 移位原则 重要重要重要:对于有符号数来说,移位操作在C语言标准中行为未定义,不同平台不一样,取决于编译器类型.无符号数统一按逻辑 ...

  3. 负数的移位、有符号数的移位转换为无符号数的移位

    对于计算机而言,用 32 去乘一个数,并非真的去乘,而是移动二进制的 5 位,显然是十分容易.(对于计算机没有 10 进制的概念,本质上都是 2 进制) 1. 负数移位的等价变换 注意,负数右移不等价 ...

  4. 分析轮子(二)- ,, (左移、右移、无符号右移)

    前言:写 分析轮子(一)-ArrayList.java 的时候看到源码中有 int newCapacity = oldCapacity + (oldCapacity >> 1); 这样的代 ...

  5. 2018-1-20:左移和右移运算以及和(无符号右移)的区别以及位运算的小题目...

    首先:左移和右移以及无符号右移都是应用于2的次幂运算 左移几位就相当于该数据乘以2的几次方:即完成2的次幂运算 右移几位就相当于该数据除以2的几次方:即完成2的次幂运算,右移有个小特点:右移之后空出的 ...

  6. Java负整数的左移、右移、无符号右移

    Java负整数的左移.右移.无符号右移.正数的位移没有涉及到符号,而且正数的原码.反码.补码都是一样的,所以相对简单,但是对于负整数的位移,往往容易混淆. Java的<<  >> ...

  7. C语言与,或,非,同或,异或,左移,右移及优先级,查表法计算一个十进制数中1的个数

    1.与:& 2.或:| 3.非:~ 4.异或:^ 5.同或:~^ 6.左移:(<<) 7.右移:(>>) 注意:位运算符中求反运算"~"优先级最高, ...

  8. Java基础——左移和右移

    首先要明白一点,这里面所有的操作都是针对存储在计算机中中二进制的操作,那么就要知道,正数在计算机中是用二进制表示的,负数在计算机中使用补码表示的. 左移位:<<,有符号的移位操作 左移操作 ...

  9. 【STM32】位操作、按位与、按位或、按位异或、取反、左移、右移等基础 C 语言知识补充

    文章目录 1 位操作 1.1 按位与 1.2 按位或 1.3 按位异或 1.4 取反 1.5 左移 1.6 右移 2 单片机中常用操作 2.1 不改变其他位时,对某几个位设定值 2.2 移位操作提高代 ...

最新文章

  1. pxe安装linux后命令不可用,CentOS7下的PXE无人值守系统安装(亲测成功)
  2. linux c 各头文件作用总结
  3. 8.依赖的传递、排除、冲突
  4. Linux新手上路命令
  5. CF 1635E Cars 二分图 + 拓扑
  6. aws cognito_使用AWS Cognito的用户管理—(1/3)初始设置
  7. Remon Spekreijse CSerialPort串口类的修正版2014-01-10
  8. 小米10pro第二个摄像头下面_小米10至尊纪念版、小米10 Pro对比评测:至尊版“至尊”在哪里?...
  9. linux 7修改主机名重启后不生效_Linux 中改变主机名的 4 种方法 | Linux 中国
  10. JVM-类加载、GC回收机制
  11. python图书馆抢座_Python-Requests模拟登录-实现图书馆座位自动预约
  12. linux 安装萍方字体,苹方字体大全-苹果苹方字体全套打包下载【windows完整免费版】-西西软件下载...
  13. 破解XP 管理员Administrator密码
  14. 2021-08-17:资产波动之贝塔系数的比喻
  15. linux博通网卡驱动怎么安装,ubuntu14.04手动安装博通官方无线网卡驱动时报错,...
  16. 解决U盘使用DVD镜像安装Fedora15需要联网的问题
  17. 手搭深度推荐模型(四) NFM
  18. 机器学习和深度学习相关问题总结
  19. HTML5之FileReader的使用
  20. 机器人巨头争霸,谁主沉浮?

热门文章

  1. 2013年固安房价必然爆跌的4个理由
  2. error: Store update, insert, or delete statement affected an unexpected number of rows (0). Entities
  3. S6 在 LAIN 集群中的应用实践
  4. 红外波长的高性能测量新突破
  5. 用手机打开word图表位置很乱_超过80%的人学会了都说好用,这是一篇良心干货文...
  6. 模拟黑洞图像_第一张黑洞图片如何获得?8个望远镜和数百万次模拟
  7. jq获取当前周从星期一到星期天的日期
  8. itunes导入音乐到手机_离开iTunes并选择新的音乐播放器
  9. 难点三!!!Vue绑定class属性时无效
  10. c语言wchar转化为char_Charwchar | 学步园