一个c语言程序运行不了问题程序阅读

百度题库旨在为考生提供高效的智能备考服务全面覆盖中小学财会类、建筑工程、职业资格、医卫类、计算机类等领域。拥有优质丰富的学习资料和备考全阶段的高效垺务助您不断前行!

我是一个初學者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是十六进制的意思吗

转二进制補码计算然后十六进制表示

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

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

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

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

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

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

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

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

百度题库旨在为考生提供高效的智能备考服务全面覆盖中小学财会类、建筑工程、职业资格、医卫类、计算机类等领域。拥有优质丰富的学习资料和备考全阶段的高效垺务助您不断前行!

参考资料

 

随机推荐