c - linux 内核代码 ">>"运算符

标签 c linux linux-kernel operating-system

我们接到一项任务,要对 Linux 内核代码进行一些修改并重新编译它。我很难弄清楚此代码行的作用:

p->time_slice = (current->time_slice + 1) >> 1;

更确切地说,为什么最后有“>> 1”?

最佳答案

">>"表示将值按位右移。 "x >> y"与除以 2^y 并截断结果相同。在几乎所有情况下,截断结果意味着向下舍入,但是对于负数,可能存在替代实现。如果您认为这正在发生,请查看评论。

关于c - linux 内核代码 ">>"运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13348997/

相关文章:

c - Linux内核有main函数吗?

c - 在字符设备驱动程序中,打印语句在读取方法中执行无限时间

c++ - 有没有办法为 C 或 C++ 结构强制执行特定的字节顺序?

c - 为什么我的文件的相对路径不能被我的应用程序识别?

c++ - 可变数量的参数

php - UTF-8贯穿始终

c - 错误 : request for member ‘sin_addr’ in something not a structure or union

Linux Bash 命令 - 显示处理器速度 - 特定行

c - 错误 : "device or resource busy" in removing proc module

linux - 在 CentOS 5(内核 2.6.18)中,niceness 级别如何影响进程调度?