C语言--基本数据类型

数据类型概述

数据类型分类

基本数据类型
构造数据类型
指针类型
空类型

标识符规范

在C语言中,一般标识符用于 变量名、宏名、函数名…
注意事项:

  1. 可用数字、英文字母(大小写)、下划线、美元符
    形如:data、temp、func()、add_int()、xxx_123()
  2. 数字不能位于开头
  3. 不能和关键字重复

sizeof()计算空间占用情况

备注:

  1. sizeof()本质是运算符,不是函数!
  2. ()中的语句不会执行,只提供计算

存储单位

最小单位:位 (bit)
基本单位:字节 (byte)

对应关系:
1 byte = 8 bits
1 kb = 1024bytes
1 mb = 1024kb
1 gb = 1024mb
1 tb = 1024gb

整形

整形存储原理

实际底层均以“补码”存储,除了补码,还有原码、反码,正数和负数对三码的定义有所不同。

对于正数,三码一致,直接将数值转换为二进制即可(是原码 也是反码 也是补码),即为底层存储。

对于负数:

  1. 原码:将数值先转换为二进制,得到原码
  2. 反码:将原码符号位以外的其他位按位取反,得到反码
  3. 补码:将反码加一,得到补码

比如:

  1. short x;底层存储的二进制为 0000 0000 0001 0010 // 18

  2. 若short x = -101;求其三码
    原码:1000 0000 0110 0101 64 + 32 + 4 + 1
    反码:1111 1111 1001 1010
    补码:1111 1111 1001 1011

  3. short x;底层存储的二进制为 1111 1111 1111 0010
    已知补码是:1111 1111 1111 0010
    得到反码: 1111 1111 1111 0001
    得到原码: 1000 0000 0000 1110  -14(最高位的1表示十负数,后续表示的是绝对值)

浮点型

浮点型存储原理

形式:double/float 变量名 = 数值eN;
含义:方便移动小数点位置
备注:e(固定写法)表示以10为底数,N(填数值,正数负数都可以)表示次幂。

字符型

核心字符 对应的ASCII
‘\0’ 0
‘\n’ 10
‘ ’ //空格字符 32
‘0’ 48
‘A’ 65
‘a’ 97
posted @ 2024-08-04 16:25  joker4865  阅读(66)  评论(0)    收藏  举报