学习嵌入式的第二天

学习嵌入式(embadded)的第二天#

常量

1.常量的定义

在定义是就进行了赋值且值不能进行更改的

2.常量的定义

2.1 使用#define

#define 也叫宏定义:在预处理的时候直接进行文本调换

注意事项

  • 不要以分号结尾,分号会成为常量的一部分
  • define 必须写在main()函数外面

2.1 关键字const

  • 在编译阶段会进行类型检查
  • 在程序执行时在内存中创建

进制

1. 常见进制

  • 二进制
  • 十进制
  • 十六进制

2.不同进制的表示

  • 默认二进制
  • 0b开头表示二进制
  • 0x开头表示十六进制

3. 进制的转换

二进制转十进制

1(2^6) 0(2^5) 1(2^4) 0(2^3) 1(2^2) 0(2^1) 1(2^0)=64+0+16+0+4+1

2^0 =1 
2^1 =2
2^2 =4
2^3 =8
2^4 =16
2^5 =32
2^6 =64
2^7 =128
2^8 =256
2^9 =521
2^10 =1024

十进制转二进制

凑数发

96 = 64+32  1100000

十六进制和二进制的转换

4个二进制位等于一个16进制位

1001 1001 1100 9 9 c = 99C

0 1 2 3 4 5 6 7 8 9 A B C D E F (十六进制0~15)

原码,反码,补码

正数和0

原码,反码,补码 都一样

负数

原码: 符号位为 1 其他对应即可

反码: 在反码基础上,符号位不变,其他位取反

补码: 在反码基础上,加1

yuanm.jpg

如图所示 用4位二进制存储数字的化,如果都是正数的话 可以表示0~15

如果有负数的话 0~7 和 -8~-1 只能正数 负数各一半0算的正数

到8和9及到15刚好都是4位二进制数的第一位为1 所以反推出来补码,反码,原码

比如: 4个二进制数 可以表达16位 它的第一位可以表达8,当它为 1 1 1 1 时可以理解为8-7 为-1

数据类型

整数类型

类型 存储长度
short int 短整型 2字节
int 整型 2或4字节 因操作系统和编译环境决定
long int 长整型 4或8字节 因操作系统和编译环境决定
long long int 超长整型 8字节
  1. 每种整型又分为有符号(short int )和无符号(umsigned)
  2. 默认表示有符号,如 int 表示 signed int

字面量后缀

int 没有 long L long long LL unsigned int U unsigned long UL

unsigned long long ULL

  • 字面量后缀不区分那大小写
  • U和L 可以自由组合

例:

unsigned long  age = 120ul;

格式占位符

数据类型 格式占位符 数据类型 格式占位符
int %d unsigned int %u
short %hd unsigned short %hu
long %ld unsigned long %lu
long long %lld unsigned long long %llu

等宽整数类型

int8_t		uint8_t
int16_t		uint16_t
int32_t		uint32_t
int64_t		uint64_t

位于标准库 头文件 stdint.h 中

本质上就是因为c语言的移植性不好,在32位操作系统和64位操作系统下 整数类型的字节有变化

上面的这个就是根据 位数 去找本操作系统中适合的 整数类型 比如int32_t就是32个位

4个字节,一般都是 int类型

浮点类型

浮点类型的划分

数据类型名 存储长度 有效小数位
float 4 6~9
double 8 15~18
long double 10或16 更多

格式占位符

数据类型 十进制形式占位符 科学计数法占位符
float %f %e
double %lf %le
long double %Lf %Le

浮点数存储原理

3.12e+10^4 3.12乘10的4次方

3.14 称为 位数 10 称为 基数 4 称为 指数

在计算机中 浮点数会分为 符号位,指数位,尾数位进行存储

假如4个字节就是32位 第一位 是 符号位 后八位是指数位 后面都是尾数位

所以存储量较大,字节越多精度就越高

字符类型

本质是一个字节的整数,分为 char 和 unsigned char

ascII 码

A 65
a 97

布尔类型

1. 第一种方式
   C89标准,使用宏定义


2. 第二种方式
   C99标准,添加 _Bool 类型

3. 第三种方式
   C99标准,标准库头文件 <stdbool.h>
   bool true false

boolean01.jpg

1.宏定义

boolean02.jpg

标准库 头文件 <stdbool.h>

c99 添加 _Bool类型

[学英语](

posted @   王先生凡凡  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示