作业帮 > 综合 > 作业

有关C语言 我是初学者

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 22:58:08
有关C语言 我是初学者
我买的书在强制类型转换这节中有句话“有符号数和无符号数之间的转换在于最高位.有符号数向无符号数转换时,原来的符号位不再作为符号,而变为数据的一部分;无符号数向有符号数转换时,最高位被当作符号位.我是初学者,麻烦讲详细点
以一个字节为例,一个二进制形式为“11111111”的数
当它为有符号数时,第一位是符号位,“1”表示它为负数,之后7个“1”为该数的数值.因为负数采用补码形式存储,所以这个数是-1
当它为无符号数时,第一位也是数值位,8个“1”表示255

有符号数向无符号数转变时,第一位符号位变成数值位,这样“-1”变成了“255”
无符号数想有符号数转变时,第一位数值位变成符号位,这样“255”变成了“-1”

希望能帮到你,望采纳^ ^