[英]display the 16 bits for the integer
我需要您的幫助,這是我的代碼的一部分,但是有一個我無法解決的問題。 請幫助我; 這就是我現在所做的,我可以獲得16位二進制形式的正整數
`
Console.WriteLine("Enter an integer : ");
string inputnumber = Console.ReadLine();
int num = int.Parse(inputnumber);
string value = Convert.ToString(num, 2).PadLeft(16, '0');
Console.WriteLine("The bits are : {0}", value);
Console.ReadKey();`
問題是我將如何獲得16位二進制形式的整數的負值
喜歡; 當我輸入5時,我可以得到:0000000000000101
and i need -5 -------------> 1111111111111011
在C#中, int
是32位類型。 您應該改用short
(16位類型)。 對於最大為32767的正數, int
和short
的前16個(低)位相同,但對於負數則不同。
short num = short.Parse(inputnumber);
這是正確的行為,因為它以這種方式存儲在計算機中。 這就是所謂的二進制補碼 ,其中最高有效位(最左邊)告訴您這是一個負數。 另外請記住,int包含32位
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.