请写出下列数的原码、反码和补码。
-75 的原码是1100 1011
反码是1011 0100
补码是1011 0101
-96的原码是1110 0000
反码是1001 1111
补码是1010 0000
-34的原码是1010 0010
反码是1101 1101
补码是1101 1110
-123的原码是1111 1011
反码是1000 0100
补码是1000 0101
思维导图
分布编译第一个C程序
1.预处理 gcc -E hello.c -o hello.i
2. 编译gcc -S hello.c -o hello.s
3. 汇编gcc -c hello.s -o hello.o
4. 链接gcc hello.o -o hello
5、运行./hello
宏定义部分
宏定义的格式: #define 宏名 宏体
1、无参宏定义: #define N 10 #define NUM N+1
2、带参宏定义 #define 宏名(参数1,参数2,```) 宏体 带参宏的宏体可以和参数无关,也可以和参数有关
#的作用:把带参宏的参数替换成字符串,对其他的字符串没有作用
例子:
1、求下面宏替换的结果:
#define M 4
#define N M+4*3
#define NUM M*N/4+1
4*4+4*3/4+1 = 20
2、求宏替换NUM 的结果
#define M 10
#define N M+7
#define NUM M+N*N/M+7
10+10+7*10+7/10+7 = 97
应用:使用带参宏实现简易计算器,+、-、*
代码:
#include<stdio.h>
#define jia(a,b) a+b
#define jian(a,b) a-b
#define cheng(a,b) a*b
int main(int argc, const char *argv[])
{
int a,b;
printf("请输入两个数字用逗号隔开:");
scanf("%d,%d",&a,&b);
printf("%d+%d=%d\n",a,b,jia(a,b));
printf("%d-%d=%d\n",a,b,jian(a,b));
printf("%d*%d=%d\n",a,b,cheng(a,b));
}
截图: