作业帮 > 综合 > 作业

C语言问题:“可能相当于整数-1(即8位全为1,也就是二进制数11111111),这恰好是EOF的值.”怎么计算的

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/28 21:17:01
C语言问题:“可能相当于整数-1(即8位全为1,也就是二进制数11111111),这恰好是EOF的值.”怎么计算的
就是 8位全为1 怎么计算出整数-1的
数据存储和计算是按补码形式存在的,为的是可以将符号位和其它位统一处理.
(1)正数的补码
与原码相同.
(2)负数补码
号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1.
补码的加减乘除运算和正码完全一样.
[X+Y]补 = [X]补 + [Y]补
[X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补
[X*Y]补=[X]补×[Y]补
至于原理,我觉得用时钟模的思想理解好些.