C语言数据存储归类介绍

目录
  • 数据类型的介绍
  • 类型的基本归类
  • 整型在内存中的存储
  • 什么是大小端
  • 浮点数在内存中的存储
  • 浮点数在内存中的存储规则

数据类型的介绍

在前面的章节中我们基本认识到了各种数据类型,这里我们就稍微回忆以下吧

类型的意义:

  • 决定了访问内存空间的大小
  • 决定了看待内存空间的视角(例如:整型和字符数据类型)

类型的基本归类

整型家族:

char
    unsigned char
    signed char
short
    unsigned short [int]
    signed short [int]
int
    unsigned int
    signed int
long
    unsigned long [int]
    signed long [int]

浮点型家族:

float
double

构造类型:

> 数组类型
> 结构体类型    struct
> 枚举类型    enum
> 联合类型    union

指针类型:

int *pi;
char *pc;
float *pf;
void *pv;(泛型指针)

空类型:

void 表示空类型 (无类型)

通常用于 函数的返回类型、函数的参数、指针类型

//作为函数的返回类型
void f1()//不接受任何返回值
{
    ;
}
//作为函数的参数
int f2(void)//参数为void时,传入参数会报错
{
    ;
}
//作为指针类型
void* f3(void* pv)//参数为 void* 时,可接收任意类型的参数
{
    ;
}

整型在内存中的存储

计算机中的整数有三种2进制表示方法,即源码、反码、补码。

三种表示方法均有符号位和数值位

符号位: " 0 " 表示 正," 1 "表示 负

数值位:

正数:

原码、反码、补码相同

负数:

原码:直接将数值按二进制翻译

反码:原码符号位不变,其它位按位取反

补码:反码+1

我们可以在内存中的存储看到:

这里大家可能有个疑问,为什么ji在内存中会是这样?为什么ij内部二进制会倒过来存储呢??编译器坏了

(0)

相关推荐

  • c语言 数据存储与原码 反码 补码详细解析

    目录 前言 1.数据的类型介绍 1.1整形家族 2.整形在数据内存中的存储 2.1 原码 反码和补码(三种整型数的表示方法) 2.2大小端字节序序的介绍 2.3 练习 3.浮点型在内存中的存储 3.1 先举一个例子 3.2 浮点数储存的规则 前言 学习本章你会了解: 1.数据类型详细介绍 2.整形在内存中的存储:以及了解原码.补码.反码 3.大小端字节序的介绍和判断 4.浮点型在内存中的存储解析 1.数据的类型介绍 在学习数据储存之前,让我们先认识一下数据类型.以下这些数据类型是我们初学c语言时

  • C语言深入探究sizeof与整型数据存储及数据类型取值范围

    目录 1.关键字sizeof 2.整型数据存储深入 3.数据类型取值范围深入 1.关键字sizeof sizeof 与 strlen 是我们日常打代码时经常使用到的两个“工具”.前者是求变量或者类型的大小(单位为字节),后者是求某一字符串的长度.我们很容易产生这样一个误解,即把 sizeof 和 strlen 归为函数一类.事实上 sizeof 并不是一个函数,它是一个操作符.关键字.我们通过一段代码证明它不是函数: #include <stdio.h> int main() { int n

  • C语言数据存储详解

    目录 一.数据类型 二.整型在内存中的存储 1.原码.反码.补码 大小端介绍 三.浮点型在内存中的存储 1.举一个浮点数存储的例子: 2.浮点数存储规则: 总结 一.数据类型 char:字符数字类型.有无符号取决于编译器,大部分编译器有符号(signed char) 而short.int.long都是有符号的. unsigned char c1=255;内存中存放二进制的补码:11111111 都是有效位,没有符号位 char c2=255;结果为-1 同理可推出short.int等 二.整型在

  • C语言 数据存储方式知识点详解

    C语言 数据存储方式 一.源码 一个数的原码(原始的二进制码)有如下特点: 最高位做为符号位,0表示正,为1表示负 其它数值部分就是数值本身绝对值的二进制数 负数的原码是在其绝对值的基础上,最高位变为1 下面数值以1字节的大小描述: 十进制数 原码 +15 0000 1111 -15 1000 1111 +0 0000 0000 -0 1000 0000 注:原码表示法简单易懂,与带符号数本身转换方便,只要符号还原即可,但当两个正数相减或不同符号数相加时,必须比较两个数哪个绝对值大,才能决定谁减

  • C语言数据存储归类介绍

    目录 数据类型的介绍 类型的基本归类 整型在内存中的存储 什么是大小端 浮点数在内存中的存储 浮点数在内存中的存储规则 数据类型的介绍 在前面的章节中我们基本认识到了各种数据类型,这里我们就稍微回忆以下吧 类型的意义: 决定了访问内存空间的大小 决定了看待内存空间的视角(例如:整型和字符数据类型) 类型的基本归类 整型家族: char    unsigned char    signed charshort    unsigned short [int]    signed short [int

  • C语言数据(整数、浮点数)在内存中的存储

    本篇主要讨论:整数.浮点数在内存中是怎么保存的! 数据类型详细介绍 在前面C语言基础概览中,已经提到过了基本的C语言内置类型,但C语言的数据类型有无数种~ 但是可以把这些类型分为几个大类: 类型的归类: 存整数的 char,short,int,long,long long及所配套的unsigned,int*,int[]- 2.存浮点数的 float,double,float[]- 结构体(结构体在内存中的存储后面在进行讨论~) 整数在内存种的存储: 1.字节序 2.补码 内存窗口 调试模式下的内

  • C语言数据的存储专项分析

    目录 数据的类型介绍 类型的基本归类 整形在内存中的存储 源码.反码.补码 关于大小端的概念 浮点型在内存中的存储 数据的类型介绍 类型的基本归类 在写数据类型的介绍之前,我们首先来简单介绍下 release版本与debug版本之间的在内存上的区别: 我们先将下面的一段代码在VS中运行一下,得到的结果是截然不同的 int i = 0; int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; for (i = 0; i <= 12; i++) { arr[i] = 0; pri

  • C语言深入分析整形数据存储

    目录 数据类型 类型的分类 整形在内存中的存储 原码.反码.补码 大小端介绍 char类型数据的取值范围 练习 练习1 练习 2 练习 3 练习 4 练习 5 练习 6 练习 7 数据类型 C语言中存在着数据类型,我们或多或少都见到过. char //字符数据类型 - 1个字节 short //短整型 - 2个字节 int //整形 - 4个字节 long //长整型 - 4/8个字节 long long //更长的整形 - 8个字节 float //单精度浮点数 - 4个字节 double /

  • C语言深入分析浮点型数据存储

    目录 1. 前言 2. 浮点型在内存中的存储 3. 例题引入 4. 浮点数存储规则 4.1 浮点数的存 4.2 浮点数的取 5. 例题解答 6. 浮点型的精度探究(※) 6.1 浮点数的精度丢失 6.2 浮点数之间如何比较 6.3 浮点数和0比较 7. 结语 1. 前言 上篇文章,我们对整形是如何存储的做出了讲解,而在本篇文章中,我将讲解浮点型是如何存储的,以及对于浮点型数据之间的比较做出一个探究,相信在阅读本篇文章后,你会对数据在内存中的存储有一个新的认识.话不多说,我们进入正题. 2. 浮点

  • C语言数据的存储超详细讲解上篇

    目录 前言 1.数据类型介绍 类型的基本归类 2.整形在内存中的存储 2.1 原码.反码.补码 2.2 大小端介绍 2.2.1 什么是大小端 2.2.2 大端和小端意义 2.2.3 写程序判断字节序 总结 前言 本文开始学习C语言进阶的内容了,进阶内容,是在基础阶段的内容上进行拓展,有的知识点,在基础阶段也已经学过.在进阶内容中,将从更深层次的角度去理解学习,本文主要内容包括: 数据类型详细介绍 整形在内存中的存储:原码.反码.补码 大小端字节序介绍及判断 浮点型在内存中的存储解析 1.数据类型

  • C语言数据的存储和取出详细讲解

    数据的存储和取出 整形的储存 我们知道一个整形的存储是以补码的形式储存取出是原码的形式. 比如:int a = 5;的二进制是101 那它的原码应该是:00000000 00000000 00000000 00000101 正数的原反补相同那它存进去和取出来都是:00000000 00000000 00000000 00000101 那float a = 5.5;也是四个字节它和整形存储的方式一样吗? 浮点型的储存方式 例子: #define _CRT_SECURE_NO_WARNINGS 1

随机推荐