• [C++] unsigned是麻烦制造者


    没有什么比signed和unsigned的区别更无味了。unsinged数据类型似乎没有存在的必要。

    一、unsigned可以提供更大的正数范围
        反对:对于小数据来说,signed的范围就足够了;对于大数据来说,signed和unsigned所提供的范围其实几乎没什么区别。Int8, Int16, Int32, Int64,这样的变化才是有实际意义的范围延伸。如果int32不够用了,通常unsigned int32也不会够用;直接使用int64将会是通常的解决方案。

    二、unsigned可以表达特定的数据涵义
        反对:比如size或者index,-1固然没有意义,但是unsigned的0xFFFFFFFF又何尝有什么意义呢?如果你说0xFFFFFFFF有 意义,那么0xFFFFFFFF+1还有意义吗?如果你能保证数据不越过0xFFFFFFFF,我们同样能保证数据不越过0x7FFFFFFF。

    三、有时候数据范围大一倍就是很大的差距
        这个我不好直接反对,不过有谁能举一个具体的例子来说明一下这个情况么?


    由于signed和unsigned的区别所带来的工作效率下降,我倒是可以举出很多例子:)

  • 相关阅读:
    DataGrid 应用合集
    [转]UBB C#完全版
    IE 7中的快捷键
    DataGrid 单击变色,鼠标经过变色 部分代码
    17种正则表达式
    单无格内强制换行
    图片上传,并自动生成缩略图!
    layout_weight学习心得
    android 手势
    java陷进一
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330472.html
Copyright © 2020-2023  润新知