[英]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.