c语言运行程序的步骤程序运行结果

     c语言运行程序的步骤中变量以补碼形式存放在内存中正数的补码与原码相同,负数求补码方式为(符号位不变其余各位取反,最后末尾加1);

符号数在计算机采用补碼表示x为正数即:FH,y为负数即: FFF7H

求和时,由于位数不一样进行整形提升。即对y进行位扩展扩展位与符号位相同也即F,扩展之后变為:FFFF  FFF7H这样相加之后即为 H。(其中最高位的进位为溢出丢弃。)

       c语言运行程序的步骤变量以补码形式存放在内存中正数的补码与其本身相同,负数的补码是符号位不变其余各位按位取反再加1。在32机器中int类型占4个字节,short类型占2个字节

0110。结果为:H

short型在与int型进行算术運算时,会扩展扩展位于符号位相同

计算机中数值用补码存储,负数补码等于原码各位取反再加1

这个末尾H看得我一愣一愣的一直用的0x表示16进制,好久没见过这种了

y进行整形提升为int型其扩展位与符号位一致,即补1

那么 short 会不会被转换为int类型,还是说高位被舍弃掉

整型提升而已,吓得我都不敢相信自己了还验证了一遍

如果表达式中包含的数字类型不同,会进行类型转换隐式类型转换规则是,占地(字節数)大小不同时(如本题的两个加数分别是int4字节 short2字节),一定是把占地小的转换成占地大的 小转大,高位补符号位数字(非负数补0负数补1)

補码与补码相加  符号位产生的进位就什么也不是,不用考虑所以z=H

D,计算机存储数值存储数值的补码正数的补码为其自身,负数的补码为其反码加一

D可以用win7自带计算器的程序员模式验证,

}

可以通过ofstream来写入文件


using namespace std; //使命名空间std內定义的所有标识符都有效(曝光)就好像它们被声明为全局变量一样
int n = 0; //将n定义为整形,并赋值为0,表示断面数组组数
float e,min=0,max=938,a,A=0,h,u,B,H,X,R,S; //e河底高程最小值min,max選取水位线最小最大值,a分割图形面积A水位断面面积,h水位线高度u两侧点间距离,B河面宽度H平均水深,X湿周R水力半径,s水位断面面積S断面面积,均定义为单精度
int i,b=0,j,t,T; //中间变量均表示元素序号,i,b,j河底高程数组对应序号 t选取水位个数均定义为整形
min = ceil (e); //将河底高程最小值向上取整得到水面线最小值
static float *s ; //s水位断面面积组成的一维动态数组,定义为单精度
}

我要回帖

更多关于 c语言运行程序的步骤 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信