簡體   English   中英

顯示整數的16位

[英]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的正數, intshort的前16個(低)位相同,但對於負數則不同。

short num = short.Parse(inputnumber);

這是正確的行為,因為它以這種方式存儲在計算機中。 這就是所謂的二進制補碼 ,其中最高有效位(最左邊)告訴您這是一個負數。 另外請記住,int包含32位

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM