作业帮 > 综合 > 作业

负数为什么能用无符号整型表示?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/05 14:51:34
负数为什么能用无符号整型表示?
无符号整型即unsigned int的表示范围不是0到4294967295吗?负数超出了这一范围为什么还能表示?比如说—2用unsigned int表示就是1111111111111110(十五个一).请各位高手帮帮忙~~解释清楚为什么,最好再讲一下怎么表示.谢谢!
把0到4294967295按顺序排列成一个“环形”,则0两边的数就是1和4294967295,如果无符号整型在使用中没有超出范围,那么结果都是正确的,如果超出了范围,程序也会给出一个结果但这个结果是错误的,错误的结果也是有规律的,比如说,无符号整型所表示的最小的数是0,如果在使用中出现了-1,那么程序给出的(错误)结果就是环形中0旁边的数,显然不会是1,只能是4294967295.依此环形类推,-2就是4294967294,转换成二进制就是1111111111111110(十五个一).