2024-05-15-day03

  今天又是早起的一天。

上午:

开始读单词

学习内容:

# 第二天

## 1. 常量

### 1.1常量概念

程序运行时,其不能改变的量,即为常量

### 1.2 常量分类

* 字面常量(直接量常量),如23,13;

* 标识符常量(C99标准后增加)

### 1.3标识符常量的定义方式

* ①宏定义: #define 常量名 常量值

~~~c

//如下

#define MAX 100

~~~

* ②const 关键字: const  常量名 常量值

~~~

//如下

const int MIN = 10;

int const DAY = 515;

~~~

### 1.4 两种方式的区别

* ①类型检查 :宏定义不会类型检查,const关键字在编译的时候进行文本检查

* ② 执行时间:宏定义在预处理阶段进行文本替换,即将程序中的常量名换成常量值。const关键字定义的常量在执行阶段被创建并进入内存

## 2.二进制

### 2.1 进制

#### ①常见进制

* 二进制

* 八进制(不常见)

* 十进制

* 十六进制

#### ② 不同进制表示的字面常量整数

* 十进制字面量:默认

* 二进制字面量:0b开头

* 十六进制字面量:0x

### 2.2 进制转换

#### ①二进制和十进制

##### 2的次方数(重要,必背)

~~~

2^1 = 1

2^2 = 2

2^3 = 8

2^4 = 16

2^5 = 32

2^6 = 64

2^7 = 128

2^8 = 256

2^9 = 512

2^10 = 1024

~~~

##### 二进制转十进制

~~~

标准规则: 从最低位开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。

8421规则:只考虑1忽略0,1后面几个数就对应2的几次方

如: 1011 = 2^3+0x2^2+1x2^1+1x2^0=11

~~~

##### 十进制转二进制

~~~

标准规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。

8421技巧:使用2的次方数去凑

如: 11 = 2^3+0x2^2+1x2^1+1x2^0=1011

~~~

#### ②十六进制转十进制(了解)

##### 十六进制转十进制

~~~

规则:从最低位开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。

~~~

##### 十进制转换为十六进制

~~~

规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。

~~~

### 2.3 源码、反码、补码

~~~

正数和0: 原码、反码、补码都相同

负数: 原码:对应的二进制数,符号位是1

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

  补码:反码基础上加1

~~~

[补码计算器:](https://www.lddgo.net/convert/number-binary-code)

## 3.数据类型

> **比特:** bit,简称b,计算机中最小存储单位,表示一个二进制位。

>

> **字节:** byte,简称B,计算机种基本存储单位,8个比特表示一个字节。

#### 3.1整数的划分

##### ①整形划分

####

| 类型                  | 类型简写          | 说明          | 存储大小 |

| ---------------------- | ------------------ | -------------- | -------- |

| signed int            | int、signed        | 有符号整型    | 4字节    |

| unsigned int          | unsigned          | 无符号整型    | 4字节    |

| signed short int      | short              | 有符号短整型  | 2字节    |

| unsigned short int    | unsigned short    | 无符号短整型  | 2字节    |

| signed long int        | long              | 有符号长整型  | 4或8字节 |

| unsigned long int      | unsigned long      | 无符号长整型  | 4或8字节 |

| signed long long int  | long long          | 有符号长长整型 | 8字节    |

| unsigned long long int | unsigned long long | 无符号长长整型 | 8字节    |

> **总结:**

>

> ① 整型分为四种:int、short、long、long long; 每一种分为 signed和unsigned两种。

>

> ② 需要表示整数的时候首选 int 类型,如果超出范围,再使用 long 或 long long。

>

> ③ long long 类型为 C99 标准增加。

##### ②字面量后缀(不需要记)

| 数据类型  | 字面量后缀 | 数据类型          | 字面量后缀 |

| --------- | ---------- | ------------------ | ---------- |

| int      | 不需要    | unsigned int      | U          |

| long      | L          | unsigned long      | UL        |

| long long | LL        | unsigned long long | ULL        |

> **注意:**

>

> ① L 和 U 的可以任意组合,UL 等价于LU,ULL等价于LLU

>

> ② 字面量后缀不区分大小写,l 等同于 L

##### ③ 格式占位符

| 数据类型  | 格式占位符 | 数据类型          | 格式占位符 |

| --------- | ---------- | ------------------ | ---------- |

| int      | %d        | unsigned int      | %u        |

| short    | %hd        | unsigned short    | %hu        |

| long      | %ld        | unsigned long      | %lu        |

| long long | %lld      | unsigned long long | %llu      |

##### ④ 等宽整数类型

定义在标准库头文件 `<stdint.h>` 中:

```

int8_t

int16_t

int32_t

int64_t

uint8_t

uint16_t

uint32_t

uint64_t

```

注意: 使用库文件定义整形所占位数时,移植程序时,自动匹配该操作系统中对应位数的整数类型

#### 3.浮点类型

##### ①浮点类型划分

| 数据类型    | 说明            | 存储长度      | 有效小数位数 |

| ----------- | ---------------- | -------------- | ------------ |

| float      | 单精度浮点类型  | 4字节          | 6~9          |

| double      | 双精度浮点类型  | 8字节          | 15~18        |

| long double | 长双精度浮点类型 | 10字节或16字节 | 18以上      |

> **总结:**

>

> ① 首选类型是 double,如果需要更高的精度可以使用 long double

>

> ② 浮点的直接量表示可以写十进制小数,如`2.45`、`0.89`;也可以写科学计数法,如 `8.9E4`、`7.8976e3`。

>

> ③ long double 类型 为 C99 标准增加。

>

#####  ②字面量后缀(不需要记)

| 类型        | 字面量后缀 |

| ----------- | ---------- |

| float      | F、f      |

| double      | 不需要    |

| long double | L、l      |

> **注意:**字面量后缀不区分大小写

##### ③格式站位符

> | 数据类型    | 十进制小数形式对应的占位符 | 科学计数法形式对应的占位符 |

> | ----------- | -------------------------- | -------------------------- |

> | float      | %f                        | %e                        |

> | double      | %lf、%f                    | %le                        |

> | long double | %Lf                        | %Le                        |

>

> > **注意:**

> >

> > 输出double类型数据,可以使用 %f 或 %lf; scanf()获取double类型数据,只能使用 %lf。

##### ④浮点类型存储原理

~~~

4.5 * 10^3

4.5 是位数

10 是基数

3 是指数

~~~

存储方式:浮点数分为符号位、指数部分、尾数部分三部分存储

作业:

1. 以下二进制表示的数字转为十进制

100101

1011001

11001

1000110

11110

100000101

110010011

111000001

2. 以下十进制数字转为二进制数字

89

65

130

27

72

110

53

223

3. 以下二进制数字转为十六进制数字

  10010100

  10110010

  11001101

  10100110

  10111110

  1011001

  1100110010

  11000010010

4. 以下十六进制数字转为二进制数字

  AD

  F29

  9D

  160

  DDD

  F1

  6D

  19

5. 计算以下数字的原码、反码、补码(使用8个二进制位表示)

100

-89

-2

-128

127

-10

0

-100

6. 定义一个有符号整数变量,赋值一个负数,使用 %d 和 %u 分别输出会得到什么结果


%d 直接输出负数

%u 即unsigned int,其中int为四字节,即32位,将负数转化为32位的二进制数,再转为十进制数字

遇到的问题解析:负数转码时没有补全八个位,%u输出时,可将负数转码为补码,然后把符号位1,当成二进制位数,转化为十进制数

简书一天只能发两篇文章,头图

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,928评论 6 509
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,748评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,282评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,065评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,101评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,855评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,521评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,414评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,931评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,053评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,191评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,873评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,529评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,074评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,188评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,491评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,173评论 2 357

推荐阅读更多精彩内容