整数

整数类型:无符号整数和带符号整数


通常用补码来表示带符号整数

浮点数中有两个定点整数:一个是尾数(定点小数,就是用原码形式表示)、一个是指数(定点整数,就是用移码的形式表示)


符号数与无符号数的比较:


第一个:比较中有无符号数,所以编译器将带符号数强制转换成成无符号数再进行比较,正0跟无符号数的0的二进制编码是一样的,所以两个相等,返回结果为1。

第二个:两个都是带符号数,所以比较按照带符号数比较,返回结果为1。

第三个:转换为无符号数比较,所以左边-1的二进制编码111...1B大于右边的000...0B,返回结果是0

第四个:类似第二个

第五个:类似第三个

第六个:虽然右边的数值是U的,但是值又进行了强制类型转换int带符号,不带符号是unsigned,所以最后是按照带符号计算。2147483647(2的31次方-1)和2147483648(2的31次方),因为是带符号的,所以第一个数是011...111(31个1,符号是0),第二个数是10...00(31个0,符号位是1),所以返回结果是1。

第七个:带符号比较,-1的机器数是11...1B,-2的机器数是11..10,所以返回结果是1。

第八个:不带符号比较,机器数还是跟上面的一样,返回结果还是1





判读有无符号数比较



练习题

你可能感兴趣的:(整数)