Uint?和?int?的區(qū)別解析
Uint 和 int 的區(qū)別
一、指代不同
1、uint:對應(yīng)于無符號整數(shù)。
2、int:一種數(shù)據(jù)類型,在編程語言(C、C++、C#、Java等)中,是用于定義整數(shù)類型變量的標(biāo)識符。
二、取值范圍不同
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:有無符號的根本原因就是因?yàn)閿?shù)據(jù)出現(xiàn)了溢出現(xiàn)象導(dǎo)致的。無符號值可以避免誤存負(fù)數(shù), 且擴(kuò)大了表示范圍。
2、int:除了int類型之外,還有short、long、long long類型可以表示整數(shù)。
補(bǔ)充:uint與int互轉(zhuǎn)
Int與Uint的區(qū)別在于帶符號與不帶符號,在計(jì)算機(jī)中根據(jù)補(bǔ)碼進(jìn)行互相轉(zhuǎn)換,很多語言是有方法支持的,但是也有一些并沒有轉(zhuǎn)換方法,比如SQLserver(SQLserver不支持Uint類型),下面這個(gè)方法理論上可以運(yùn)用于任何語言進(jìn)行轉(zhuǎn)換。
SQLserver中并不存在uint,所以我們用bigint格式來接收轉(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ollama搭建本地ai大模型并應(yīng)用調(diào)用的操作方法
這篇文章詳細(xì)介紹了如何下載、安裝和使用OLLAMA大模型,包括啟動配置模型、配置UI界面、搭建本地知識庫、配置文件開發(fā)、環(huán)境變量配置以及通過Golang實(shí)現(xiàn)接口調(diào)用的示例2024-11-11
Atlassian系列產(chǎn)品及插件激活方法[JIRA8.19.0+]
Atlassian家有很多產(chǎn)品,都真的非常好用。比如公司使用JIRA做項(xiàng)目管理,使用Confluence做文檔、知識管理等(我個(gè)人用它來做筆記)。本文給大家分享Atlassian系列產(chǎn)品及插件激活方法[JIRA8.19.0+],感興趣的朋友參考下吧2021-12-12
bs架構(gòu)和cs架構(gòu)的區(qū)別_動力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了bs架構(gòu)和cs架構(gòu)的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
Matlab使用Plot函數(shù)實(shí)現(xiàn)數(shù)據(jù)動態(tài)顯示方法總結(jié)
這篇文章主要介紹了Matlab使用Plot函數(shù)實(shí)現(xiàn)數(shù)據(jù)動態(tài)顯示方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
ClaudeCode中的Agent系統(tǒng)工作原理、如何使用和自定義開發(fā)
本文介紹了ClaudeCode中的Agent系統(tǒng),包括其工作原理、內(nèi)置Agent的使用方法、如何創(chuàng)建自定義Agent以及優(yōu)秀的Agent框架BMAD-Method,通過使用Agent,可以提高開發(fā)效率,提升專業(yè)知識,并促進(jìn)團(tuán)隊(duì)協(xié)作2026-03-03

