二进制源码和补码的基础解释
二进制
我们知道,计算机最终处理的都是0和1的二进制的数据,二进制又分为有符号数和无符号数,今天就带你们详细了解一下。我会以代码为例子让各位更清晰的明白,所用语言为C#语言。
无符号数
所谓无符号数就是没有符号的数,数有正负之分,但是只有负数的时候才会有符号,所以无符号数就是正数。
无符号数不用考虑正负,所以数中的每个二进制数都是用来表示数值的。
下面请看代码:
UInt16 decimals = 2767;
string binary = Convert.ToString(decimals,2);
Response.Write("Data:<span>" + binary + "</span><br/>");
Response.Write("Length:"+binary.Length);
首先我定义一个了一个16位无符号整数的变量decimals,赋值为2767,然后转成二进制形式,并打印了出来,结果如下:
这里大家应该都看得懂,2767这个十进制转成二进制就是上述图片中的二进制数字。
有符号数
所谓有符号数就是有正负的数,可以是负数了,所以在二进制的数字中,我们就拿最高位的数字用来表示正负,0表示正,1表示负。
下面请看代码:
Int16 decimals = 2767;
string binary = Convert.ToString(decimals,2);