C语言中如何定义有符号整数

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 17:55:06

C语言中如何定义有符号整数
C语言中如何定义有符号整数

C语言中如何定义有符号整数
1)正数的补码:与原码相同. 例如,+9的补码是00001001.
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1. 例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码0000111按位取反为1111000;再加1,所以-7的补码是11111001.
已知一个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码.
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1. 例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”;其余7位1111001取反后为0000110;再加1,所以是10000111.