当前位置:  技术问答>linux和unix

大家看过这样写代码的吗?(size_t)-1

    来源: 互联网  发布时间:2015-11-05

    本文导语:  double v = ((double)size) * (int)(nmemb & (((size_t)-1) >> 1)); 看过这样的用法的吗? | 有。(size_t)-1相当于位全为1的int。如果是16位机,相当于0xFFFF;32位机,相当于0xFFFFFFFF; | 对于非符号数...

double v = ((double)size) * (int)(nmemb & (((size_t)-1) >> 1));
看过这样的用法的吗?


|
有。(size_t)-1相当于位全为1的int。如果是16位机,相当于0xFFFF;32位机,相当于0xFFFFFFFF;

|
对于非符号数,用-1表示最大数是平常的

|
可是~0是一个int,右移一位值不变,(size_t)-1是无符号的,右移一位值变了。可以用(size_t)~0,可是它和(size_t)-1相比看不出什么优势

|
wohow()说的对。这样应用最终是为了得到unsigned int。

|
这样写法没什么不好啊。如果写0xFFFFFFFF又不直观又容易错

|
而且编译器一般会用2147483647去替换(size_t)-1>>1,即在编译时就简化表达式

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Ed的《Mastering EJB》的中文版谁看过?
  • 大家觉得LINUX程序设计这本书怎么样?看过的进来说说
  • 问:谁看过linux中的文件系统ext2?
  • 看过操作系统设计与实现的进来看看
  • 看过《数据结构与算法》(java版)谈谈一下感想?
  • 看过top码的高手看过来
  • 看过“自己动手写操作系统”朋友请进
  • 如果你看过《JAVA编程思想》,请进!
  • 有没有看过Oreilly的《Java and XML》的朋友,有个小问题!!!请帮忙!!
  • 昨天在书店看到一本《JAVA2入门经典》的书,老外写的,中国电力出版社出版的,有谁看过这本书,能不能给个建议评价。
  • 看过<<JSP设计>>请过看看!急!在线等待!!!问题解决马上结贴!
  • 请通过SCJP和看过Java 2 认证考试指南(原书第3版,机械工业出版社)的来看看!!
  • 谁看过中国电力出版社的〈〈JAVA入门经典〉〉,一本砖头!
  • 与刚才提问的string有一定关系的一个程序。没有看的,看过的都来看呀!!!
  • 散分:有谁看过《 Java 2 编程指南(JDK 1.3版)》请评价一下
  • 高手看过了。我的linux9.0为什么上不了网?
  • *********请问谁看过这本书,或者能够提供线索,感谢!
  • 请教看过stevens的unix网络编程的哥哥进来看看
  • linux 服务器,每周神秘死机,这个怎么查?有没有类似于crash report之类的东西?看过System Log了没有可以参考的地方,只是在某段时间没记录
  • 我有较好的C++基础,想学java,大家推荐几本书吧,一定要自己看过的。谢谢!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3