目录
  • Uint 和 int 的区别
    • 一、指代不同
    • 二、取值范围不同
    • 三、特点不同
  • 补充:uint与int互转

    Uint 和 int 的区别

    一、指代不同

    1、uint:对应于无符号整数。

    2、int:一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。

    二、取值范围不同

    1、uint:取值范围是 2^31 - 1,即:0~。

    2、int:int占用4字节,32比特,数据范围为-~[-2^31~2^31-1]。

    三、特点不同

    1、uint:有无符号的根本原因就是因为数据出现了溢出现象导致的。无符号值可以避免误存负数, 且扩大了表示范围。

    2、int:除了int类型之外,还有short、long、long long类型可以表示整数。

    补充:uint与int互转

    int→uint如果为正数:数据(正数不变)
    如果为负数:MaxInt-MinInt-(|数据|)+1 = -(-)+(数据)+1 = +(数据)
    SQL代码:

    DECLARE @int INT =-1 SELECT CASE WHEN @int>=0 THEN @int ELSE +@int END

    JS代码:

    function int2uint(i) { if (i >= 0) return i; else  + i; }

    uint→int如果小于等于MaxInt:数据(不变)
    如果大于MaxInt:(数据)-MaxInt+MinInt-1=(数据)-+(-)-1=(数据)-
    SQL代码:

    DECLARE @uint BIGINT= SELECT CASE WHEN @uint<= THEN @uint ELSE @uint- End

    JS代码:

    function uint2int(i) { if (i <= ) return i; else return i -  }

    到此这篇关于Uint 和 int 的区别的文章就介绍到这了,更多相关Uint 和 int 的区别内容请搜索本网站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本网站!

    您可能感兴趣的文章:

    • 解读unsafe.Pointer和uintptr的区别
    • Golang中int, int8, int16, int32, int64和uint区别浅析
    • 基于golang uint8、int8与byte的区别说明