19.04.07笔记-进制转换 汇编代码及数据范围

作业:

1.八进制以0开头,十六进制以0x或0X开头

2.标识符只能由字母和数字以及下划线组成

3.二进制、八进制、十六进制

4.主要用于计算数据存储空间,单位字节数

5.八进制:07253

二进制:111 110 011 010 001

6.十六进制:0XFADB

二进制:1010 0110 1011 0010 1111 0001

7.short a=-8;//a的原码 反码 补码

原码:1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1000

反码:1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 0111

补码:1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1000

8.(1)-2(2)65534(3)-32767(4)4

 

 

gcc -o 文件名 文件名.c

格式:

-o file  指定生成的输出文件名为file

-E  只进行预处理

-S(大写)  只进行预处理和编译

-c(小写)  只进行预处理、编译和汇编

 

1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法

 

2)编译:检查语法,将预处理后文件编译生成汇编文件

 

3)汇编:将汇编文件生成目标文件(二进制文件)

 

4)链接C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去

预处理:gcc -E hello.c -o hello.i

 译:gcc -S hello.i -o hello.s

 编:gcc -c hello.s -o hello.o

 接:gcc    hello.o -o hello_elf

 

 

system("可执行程序名字")

除二取余逆序法:

十进制转二进制

十进制转八进制(除八)

十进制转十六进制(除十六)

权值法:

二进制转十进制010111101==>0*2^8+1*2^7+0*2^6+1*2^5+1*2^4+1*2^3+1*2^2+0*2^1+1*2^0=>

八进制转十进制

十六进制转十进制

八四二一法则:

八进制、十六进制和二进制的转化

 

short  -32768 到 32767 (-215 ~ 215-1)

int  -2147483648 到 2147483647 (-231 ~ 231-1)

long  -2147483648 到 2147483647 (-231 ~ 231-1)

unsigned short  0 到 65535 (0 ~ 216-1)

unsigned int  0 到 4294967295 (0 ~ 232-1)

unsigned long  0 到 4294967295 (0 ~ 232-1)

 

posted @ 2019-04-07 20:34  拓荒的路上  阅读(366)  评论(0编辑  收藏  举报