百科问答小站 logo
百科问答小站 font logo



为何对于无符号数,右移必须是逻辑的? 第1页

  

user avatar   miloyip 网友的相关建议: 
      

原文是:

For unsigned data, on the other hand, right shifts must be logical.

或可译作:

另一方面,无符号数的右移运算必然是逻辑的。

有符号数需考虑正负数的情况,其算术右移需要在左端补充原来的符号位(最高位);无符号数没有符号位,其右移运算后总是在左端补零。所以无符号数没有所谓的「算术右移运算」,必然会使用左端补零的「逻辑右移运算」。




  

相关话题

  一个程序员多年累计编写一百万行代码是什么体验? 
  C语言编译器是如何实现指针+1这样的一个机制? 
  C++整型有__int8、__int16、__int32等等,为什么还要short、int、long? 
  C++里 const int* 与 int const* 有什么区别? 
  c中struct 为什么可以在数据结构这样用? 
  Android 会像 Windows 一样,打败 iOS 吗? 
  大一新生入学半个月,有比赛需要一个月造出红外循迹智能车,会C语言和c++,要怎么开始入门? 
  如何直接跳出深层递归而不是一层一层跳出? 
  有哪些关于C++高性能服务器开发的高质量博客? 
  C++ 和Java 的 double 类型都是 8 字节,为何 C++ 存不下 3.1415926 ? 

前一个讨论
如何看待「离职能直接影响中国登月的人才,只配待在国企底层」一文里所描述的国企技术人员现状?
下一个讨论
如何理性客观评价豆瓣的阿佳妮扒皮贴?





© 2025-06-28 - tinynew.org. All Rights Reserved.
© 2025-06-28 - tinynew.org. 保留所有权利