嵌入式day2作业

一、简述gcc的分布编译过程

gcc编译分为4个步骤分别是:预处理、编译、汇编、链接

预处理:展开头文件,删除注释,宏定义替换。代码:

gcc -E xxx.c -o xxx.i

编译:查错,若无错误将xxx.i文件转换为汇编文件。代码:

gcc -S xxx.i -o xxx.s

汇编:将汇编文件转换为二进制文件。代码:

gcc -c xxx.s -o xxx.o

链接:将二进制文件链接成可执行文件。代码:

gcc xxx.o -o xxx.out

至此编译完成

二、请计算3-1的运算过程

计算机没有减法,只有加法,需要经过源码、反码、补码转换计算,再将结果转换回人能识别的数字。

源码:最高位为符号位,其余为表示值

反码:最高位不变,其他位取反(正数反码是其本身)

补码:在反码的基础上,符号位不变,其他位加1(正数补码也是其本身)

3的源码、反码、补码分别如下
源码:0000 0011
反码:0000 0011
补码:0000 0011

-1的源码、反码、补码分别如下
源码:1000 0001
反码:1111 1110
补码:1111 1111

0000 00111111 1111相加得到 0000 0010,符号位为0,即为正数,所以最终答案为2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值