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



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

  

user avatar   miloyip 网友的相关建议: 
      

原文是:

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

或可译作:

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

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




  

相关话题

  c#中虽然异步和多线程是两码事,但是是否异步微软提供的async函数内部还是多线程去实现的? 
  请问学 C 有必要死磕指针吗? 
  如果一瞬间让所有编程语言的0.1 + 0.2 == 0.3,会造成多大影响? 
  C「带坏了」多少程序语言的设计? 
  为什么 Go 和 Rust 常提供静态编译好的 Linux 程序,而 C 不行? 
  C 语言这些宏定义前面的 __extension__ 是什么意思? 
  C/C++中按值传递比按地址传递更快吗, 引用呢? 
  在C++中链表重不重要? 
  C++为何没有一个简便的调库方法? 
  如果你们想要自创一个编程语言,你们希望它有什么特色? 

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





© 2025-02-27 - tinynew.org. All Rights Reserved.
© 2025-02-27 - tinynew.org. 保留所有权利