c 中將uint值轉換成int的例項方法

2022-09-26 02:45:09 字數 884 閱讀 1029

c#中的uint是無符號整數型別,int是有符合整數型別。兩者的取值範圍不相同,那麼,如何將uint值轉換為int呢?

開啟visual studio,建立乙個控制台應用程式,本文的所有**都在program.cs檔案的main方法中進行演示。首先檢視uint無符號整數型別的最大值 uint.maxvalue = 4294967295,最小值 uint.minvalue = 0

然後在main方法中使用 int.maxvalue 獲得int的最大值,int.minvalue 獲得int的最小值。從執行結果來看,int有符號整數型別的最大值 int.maxvalue = 2147483647,最小值 int.m程式設計客棧invalue = -2147483648

從上面兩個結果可以看出,uint無符號的意www.cppcns.com思是,數值只有整數沒有負數。int有符號的意思是,數值既有整數還有負數。另外,uint的正數範圍比int的正數範圍要大一倍

對於uint值在int範圍內的時候,只需使用 (int)變數 的格式就能轉換成int值了。這種方式是強制轉換,對於在範圍內的數有效

對於uint值在int正數程式設計客棧範圍外的時候,使用 (int)變數 的格式轉化,就會出現資料溢位,但是程式不會報錯,轉換後得到的值不是想要的結果

對於上面這種情況,假設程式中遇到了,還不報錯,出現的問題會讓人很費解。假設是銀行的存款,因為多存了一塊錢導致數字溢位,變成了負數,這是絕對無法原諒的。因此,在轉換的**外面加上checked關鍵字,在轉換溢位的時候就會丟擲異常,防止溢位

除了使用括號int這種強制轉換之外,還可以使用下面的方式轉換:

1)int.parse強制轉換,這種方式如果溢位了會直接報錯,丟擲異常

2)int.tryparse轉換,如果資料溢位了,轉換會返回false,也就是轉換失fachztg敗,不丟擲異常

int 轉換成byte 數字

byte是1個位元組 所以 位元組型,佔1 位元組,表示8 位正整數,範圍0 255 int是4個位元組 而把int轉換成byte會擷取最後乙個位元組 比如你說的135 轉為2進製應該有4個位元組 然後僅僅要最後乙個位元組 最後乙個位元組的第一位被作為符號位135轉換2進製後為10000111 然後...

數字String轉換成int

最近在將數字字串轉int時,經常忘記integer.parseint 和這個integer.valueof 看下面 1.string轉int int num integer.valueof 12 int num2 integer.parseint 12 兩個方法的區別 integer.valueof...

ArrayList轉換成int 陣列

1.為什麼有這個問題?因為arraylist的toarray無法對int生效 2.為什麼無法對int生效?因為int不是物件,所以不是object的子類,只是基本的資料型別 3.那麼如何轉換成int 陣列 可以直接轉為integer 陣列。list list newarraylist int siz...