当前位置:   article > 正文

详谈数据的存储问题_数据处理后的数据存储相关的问题

数据处理后的数据存储相关的问题

数据系列文章目录

第一章 C语言的常数知识讲解


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


一、数据类型有哪些?

//常见的整数类型:   名字  范围                                                                   字节数

int                          / /  整形 (-2147483648~2147483647)                      / /  4

short  [int]            / /  短整型(-32768 ~32767)                                      / /   2

long   [int]            / /  长整型(-2147483648~2147483647)                  / /   4/8(分编译器)

long long [int]     / /   更长整型(-9223372036854775808~9223372036854775807) / /8

char                     / /   字符类型的整形( -128~127)                               / /    1

//常见的浮点型类型:  名字 范围                                                             字节数

flaot                     / /   单精度浮点数 (-3.4E+38 ~ 3.4E+38                  / /     4

double                / /    双精度浮点数(1.79E+308 ~ +1.79E+308          / /     8

1.1  数据具体的类型

整形家族:

int:

       signed int                      / /有符号的整形

       unsigned int                 / /无符号的整形   (0~4294967295

char:

       signed char                  / /有符号的字符类型

       unsigned char             / / 无符号的字符类型 (0~255

long【int】:

       signed long 【int】     / /有符号的长整形

       unsigned long 【int】 / /无符号的长整型    (0~4294967295

short【int】:

       signed short 【int】    / /有符号的短整形

       unsigned short 【int】/ /无符号的短整型     (0~65535)

浮点数家族:

float

double

构造类型:

~~~   数组类型

~~~   结构体类型  struct

~~~   枚举类型  enum

~~~   联合类型  union

指针类型:

int*    pi;

char* pa;

float* pb;

void* pc;     //空类型指针

空类型:

void   表示空类型(无类型)

二、整形

1.在内存中的存储形式

整形:在内存中存储的形式为补码的形式

整数表示包括三种类型:原码,反码,补码

原码:我们一般输入为原码的十进制形式(或者八进制/十六进制)补码:在内存中的存储形式 反码:(中间态)

   正数的原码,反码,补码都是一样的

   负数的原码,反码,补码,各不相同        负数的符号位为1,正数的符号位为0

   {

      反码为原码数符号位不变,符号位为高位,第一位

     int  a = -10;

    // 原码   10000000    00000000    00000000    00001010

                 符号位

   //  反码   111111111     11111111     11111111      11110101

      补码为反码加1所得

   //   补码  111111111      11111111     11111111     11110110  //a=10 在内存中存储形式

  }

 

2.练习

代码如下(示例):

求解下面a,b,c三个的值

  1. #include <stdio.h>
  2. int main()
  3. {
  4. char a = -1; //-1截断后存储到a中
  5. //10000000000000000000000000000001 -1的原码
  6. //11111111111111111111111111111110 -1的反码
  7. //11111111111111111111111111111111 -1的补码
  8. //11111111 - a
  9. signed char b = -1;
  10. //11111111111111111111111111111111 -1的补码
  11. //11111111 - b
  12. unsigned char c = -1;
  13. //11111111111111111111111111111111 -1的补码
  14. //11111111 - c
  15. printf("a=%d,b=%d,c=%d", a, b, c);
  16. //-1 -1
  17. //11111111111111111111111111111111 a/b
  18. //11111111111111111111111111111110
  19. //10000000000000000000000000000001
  20. //11111111 c
  21. //00000000000000000000000011111111
  22. return 0;
  23. }

知识点:

 

运行结果:

 


总结

希望大家可以给个三连,支持支持萌新。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/380322
推荐阅读
相关标签
  

闽ICP备14008679号