逻辑移位与算术移位的区别

简介: 用一句简单的话来说就是:逻辑移位不需要考虑符号位,算术移位需要考虑符号位,我们都知道。数在计算机中都是以补码的形式来存储的,这才造成了逻辑移位和算术移位的的差别。

用一句简单的话来说就是

逻辑移位不需要考虑符号位,算术移位需要考虑符号位,我们都知道。数在计算机中都是以补码的形式来存储的,这才造成了逻辑移位和算术移位的的差别。

这学期学习的单片机,看到的变量声明一直都是unsigned。这才明白了,为什么要定义为无符号,因为在程序中可能会用到移位运算。

看个简单的例子

10000010算术右移1位11000001 (算术移位时符号位不动)

10000010逻辑右移1位01000001

举个例子:

int funcl(unsigned word)

{

return (short)((word<<8)>>8);

}

word  机器数

 0080H

 00FFH

 0100H

对题目进行简单的改造:

int funcl(unsigned word)

{

return ((short(word<<8))>>8);

}

short是一元运算符,<<是双目运算符  单目运算符的优先级高于双目运算符,

word  机器数

 0080H

 00FFH

 0000H

int funcl(unsigned word)

{

return ((short)(word<<8)>>8);

}

word  机器数

 0080H

 00FFH

 0100H

目录
相关文章
|
9月前
|
存储 机器学习/深度学习 弹性计算
阿里云服务器八代实例计算型c8i与通用型g8i性能和适用场景及最新收费标参考
阿里云服务器计算型c8i与通用型g8i实例怎么样?阿里云ECS家族第八代热门云服务器实例,计算型c8i与通用型g8i实例凭借全新CIPU架构、第四代Intel处理器以及芯片级安全加固技术,构成了云计算基础设施的"双引擎"。本文为大家介绍这两个实例规格的性能、适用场景及最新价格情况,并通过多维度对比与技术解析,为您展示这两款实例的核心优势与最新价格策略,以供参考和选择。
|
C语言 计算机视觉
【C语言】移位操作详解 - 《凌波微步 ! 》
移位操作符是C语言中非常重要的工具,提供了高效的位级操作方法。理解和正确使用移位操作符,对于编写高性能和高效能的程序至关重要。本文详细介绍了左移和右移操作符的使用方法、应用场景及注意事项,希望对您理解和使用C语言移位操作有所帮助。
972 5
|
计算机视觉 Python
FFMPEG学习笔记(一): 提取视频的纯音频及无声视频
本文介绍了如何使用FFmpeg工具从视频中提取纯音频和无声视频。提供了具体的命令行操作,例如使用`ffmpeg -i input.mp4 -vn -c:a libmp3lame output.mp3`来提取音频,以及`ffmpeg -i input.mp4 -c:v copy -an output.mp4`来提取无声视频。此外,还包含了一个Python脚本,用于批量处理视频文件,自动提取音频和生成无声视频。
1195 1
解决win11开启移动热点共享手机连上后无法上网的问题
本文提供了解决Windows 11开启移动热点后手机无法上网问题的步骤:通过控制面板进入网络和共享中心,在以太网属性中勾选“允许其他网络用户通过此计算机的Internet连接来连接”,然后手机重新连接共享热点即可上网。
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的医院挂号预约系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的医院挂号预约系统的详细设计和实现(源码+lw+部署文档+讲解等)
222 1
|
安全 Linux API
一篇文章讲明白Metasploit详解详细图文教程
一篇文章讲明白Metasploit详解详细图文教程
1022 0
|
监控 NoSQL 程序员
C/C++程序员必备技能 ---- 内存泄漏检测
C/C++程序员必备技能 ---- 内存泄漏检测
559 0
C/C++程序员必备技能 ---- 内存泄漏检测
|
存储 TensorFlow 算法框架/工具
mnist数据集预处理实战
mnist数据集预处理实战
586 0

热门文章

最新文章