求解答c语言入门

专业C/C++软件开发

感觉你这个题目可能是印错了

c语言入门中 是不允许同名函数的

如果是C++的话就可以了, 属于重载

不过 调用的都是两个参数的 无参的没用到

从题目写法上看,应该下面一个fun是印多余了

你对这个回答的评价是?

你对这个回答的评价是

用最高位的1表示是负数0表示正数

洇为计算机里面是用补码表示

反码 = 源码 除 了符号位 以外 的各位取反 即11 11

补码是计算机表示数的方式

按八进制表示 按每3位分开计算

按十六进制表示 按每4位分开计算

按照无符号表示, 最高位也表示数 不表示符号

对于负数在内存中是如何保存的?

首先int是4字节32位,有符号int是取第一位為符号位0为正,1为负然后取反加1:

-1:11 11 对上面的取反加1(符号位不操作)

这也是为什么无符号最大是2的32次方,而有符号是2的31次方(分出一個符号位)

然后对这个数值进行打印打印的时候就按照你定义的方式打印,内存中的数据还是全1

你可以转化下32位全1分别转化成8进制、16進制、无符号后的结果就是你那些结果。

这个问题嘛你只要知道%o,%x%u都是什么意思就可以了三,知道了后面的不就可以知道了

就是这個-1的东西,在内存表示的0101乱其八糟的东西通过不同的解释以:%o(八进制),%x(十六进制)或者%u(无符号十进制整数)的方式显示给你看而巳。

给个简单的列子说明下:苹果在内存里就是苹果这个可以吃的水果,中国人看叫“苹果”美国人看叫“apple”,俄罗斯人看叫“!@#%”

oa,xaua都是变量名分别对应输出格式为%o % x %u

一个字节表示8位二进制,一个字表示两个字节

ua=u 以十进制形式输出无符号整数

 
这个是冒泡排序算法不会的话鈳以百度或者追问,把a数组从小到大排序
看你红笔的意思 应该是 【37】 这个空填 a 吧。
主函数定义a数组后调用 冒泡排序 函数,将a数组进行從小到大排序即输入-735710;

因为输出时 %d 前后没有空格或换行 所以都连在一起

还有不会请追问,望采纳

参考资料

 

随机推荐