Uint?和?int?的區(qū)別解析
Uint 和 int 的區(qū)別
一、指代不同
1、uint:對(duì)應(yīng)于無(wú)符號(hào)整數(shù)。
2、int:一種數(shù)據(jù)類型,在編程語(yǔ)言(C、C++、C#、Java等)中,是用于定義整數(shù)類型變量的標(biāo)識(shí)符。
二、取值范圍不同
1、uint:取值范圍是 2^31 - 1,即:0~4294967295。
2、int:int占用4字節(jié),32比特,數(shù)據(jù)范圍為-2147483648~2147483647[-2^31~2^31-1]。
三、特點(diǎn)不同
1、uint:有無(wú)符號(hào)的根本原因就是因?yàn)閿?shù)據(jù)出現(xiàn)了溢出現(xiàn)象導(dǎo)致的。無(wú)符號(hào)值可以避免誤存負(fù)數(shù), 且擴(kuò)大了表示范圍。
2、int:除了int類型之外,還有short、long、long long類型可以表示整數(shù)。
補(bǔ)充:uint與int互轉(zhuǎn)
Int與Uint的區(qū)別在于帶符號(hào)與不帶符號(hào),在計(jì)算機(jī)中根據(jù)補(bǔ)碼進(jìn)行互相轉(zhuǎn)換,很多語(yǔ)言是有方法支持的,但是也有一些并沒(méi)有轉(zhuǎn)換方法,比如SQLserver(SQLserver不支持Uint類型),下面這個(gè)方法理論上可以運(yùn)用于任何語(yǔ)言進(jìn)行轉(zhuǎn)換。
SQLserver中并不存在uint,所以我們用bigint格式來(lái)接收轉(zhuǎn)換后的數(shù)據(jù)
int→uint如果為正數(shù):數(shù)據(jù)(正數(shù)不變)
如果為負(fù)數(shù):MaxInt-MinInt-(|數(shù)據(jù)|)+1 = 2147483647-(-2147483648)+(數(shù)據(jù))+1 = 4294967296+(數(shù)據(jù))
SQL代碼:
DECLARE @int INT =-1 SELECT CASE WHEN @int>=0 THEN @int ELSE 4294967296+@int END
JS代碼:
function int2uint(i) { if (i >= 0) return i; else 4294967296 + i; }
uint→int如果小于等于MaxInt:數(shù)據(jù)(不變)
如果大于MaxInt:(數(shù)據(jù))-MaxInt+MinInt-1=(數(shù)據(jù))-2147483647+(-2147483648)-1=(數(shù)據(jù))-4294967296
SQL代碼:
DECLARE @uint BIGINT=4294967295 SELECT CASE WHEN @uint<=2147483647 THEN @uint ELSE @uint-4294967296 End
JS代碼:
function uint2int(i) { if (i <= 2147483647) return i; else return i - 4294967296 }
到此這篇關(guān)于Uint 和 int 的區(qū)別的文章就介紹到這了,更多相關(guān)Uint 和 int 的區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
jenkins通過(guò)sshPut傳輸文件時(shí)報(bào)錯(cuò)Permission?denied的SftpException的問(wèn)題及解決
使用jenkins的ssh插件傳輸文件至遠(yuǎn)程機(jī)器的指定目錄,php程序打包后,經(jīng)過(guò)zip壓縮為oms.zip,這篇文章主要介紹了jenkins通過(guò)sshPut傳輸文件的時(shí)候,報(bào)錯(cuò)Permission?denied的SftpException,需要的朋友可以參考下2023-08-08學(xué)習(xí)哪門編程語(yǔ)言最有前途,最好賺錢,需求量高
近期有很多同學(xué)想學(xué)習(xí)編程,不知道選擇哪種語(yǔ)言比較好,這里簡(jiǎn)單的給大家介紹一下,其實(shí)看個(gè)人發(fā)展,無(wú)論選擇哪個(gè)只要努力都是賺錢的2017-08-08Web前端和JAVA應(yīng)該學(xué)哪個(gè)?哪個(gè)就業(yè)形勢(shì)更勝一籌?
這篇文章主要介紹了Web前端和JAVA應(yīng)該學(xué)哪個(gè)?哪個(gè)就業(yè)形勢(shì)更好?本文通過(guò)幾個(gè)城市的薪資收入對(duì)比分析,需要的朋友可以參考下2020-07-07Typora?免費(fèi)版下載安裝入門使用教程(超簡(jiǎn)單親測(cè)適用于Windows)
Typora是一款輕便簡(jiǎn)潔的Markdown編輯器,支持即時(shí)渲染技術(shù),這也是與其他Markdown編輯器最顯著的區(qū)別,這篇文章主要介紹了Typora?免費(fèi)版下載安裝(超簡(jiǎn)單親測(cè)適用于Windows)與入門,需要的朋友可以參考下2023-09-09bs架構(gòu)和cs架構(gòu)的區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了bs架構(gòu)和cs架構(gòu)的區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07Trie樹(shù)_字典樹(shù)(字符串排序)簡(jiǎn)介及實(shí)現(xiàn)
有時(shí),我們會(huì)碰到對(duì)字符串的排序,若采用一些經(jīng)典的排序算法,則時(shí)間復(fù)雜度一般為O(n*lgn),但若采用Trie樹(shù),則時(shí)間復(fù)雜度僅為O(n)2014-03-03