有关C语言中int型数据的取值范围的问题
有关C语言中int型数据的取值范围的问题
日期:2017-11-27 01:16:28 人气:1
是这样的,现在计算机中表示有符号数用的几乎都是2的补码表示法(two's complement),像C语言中的int、long等就是用这种表示法。而表示无符号整数(即非负整数,如unsigned int)用的是原码表示,计算其十进制真值时直接按权展开就行。
将用2的补码表示的二进制转化成十进制有好几种方法,最规范的一种是按下面的公式计算:
x[n-1]×(-2^(n-1)) + x[n-2]×2^(n-2)+ … + x[1]×2^1 + x[0]×2^0
其中n表示二进制