找回密码
 立即注册
首页 编程领域 编程板块 数据储存那些事

Java 数据储存那些事

2023-3-22 09:31:46 评论(0)
数据类型介绍:
int                        //整型 占4个字节
short                    //短整型  占两个字节
long                  //长整型 占4个字节(vs2022中的数据)c语言标准中规定:
long long             //更长的整型 占8个字节         sizeof(long)>=sizeof(int)
char                     //字符数据类型 占1个字节
float                     //单精度浮点数 占4个字节
double                 //双精度浮点数  占8个字节
数据类型的意义:
1.使用这个类型开辟内存空间大小(大小决定使用范围)
2.如何去看待空间的视角(同样是4个字节,里面储存的是浮点数还是整数)
整型家族有:
char                                     char在储存的时候储存的是ASCll码值,ASCll码
       unsigned char         是整数,所以归类的时候,字符属于整型家族。   
       signed char
short
        unsigned short [int]        short int num=0与short num=0 等价,int  ​
        signed short [int]         可以省略。short num=0与signed short num
int                                        等价。int和long类似。但char 是 signed char
    unsigned int                     还是unsigned char取决于编译器,常见的编译
    signed int                         器中char == signed char.
long
      unsigned long
      signed long
浮点数家族有:
        float
        double
构造类型(自定义类型):
数组类型       //数组类型为啥是自定义呢?  我们会根据需要改变数组的元素
结构体类型 struct     个数,这个时候方括号中的数值也随之改变,类型也就
枚举类型 enum          发生了改变。举个列子:int arr[10]的类型为int [10]
联合类型 union          而int arr[11]的类型则为int [11]

空类型:
void表示空类型
通常用于函数的返回类型、函数的参数、指针类型。

void add()     表示该函数无返回值
{}
void add(void)      表示该函数不需要参数,不用给它传
{}
void *p            表示无类型指针
{}
对于整型来说,数据存放内存中其实存放的是补码
为什么储存补码呢?
           使用补码,可以将符号位和数值域统一的处理,同时,加法和减法也可以统一处理(CPU只有加法器),此外,补码和原码的相互转换,其运算过程是相同的,不需要额外的硬件电路
正数   原码(直接按照该数值翻译成二进制形式就得到了原码)反码补码相同
负数    反码: 原码除符号位以外,其他位次按位取反得到反码
          补码:反码+1
举个例子:
int a=-10
int b=20
//-10
//10000000000000000000000000001010 -原码
//11111111111111111111111111110101 -反码
//11111111 11111111 11111111 11110110 -补码
//0xff ff ff f6
//20
//00000000000000000000000000010100 -原码
//00000000000000000000000000010100 -反码
//00000000 00000000 00000000 00010100 -补码
//0x00 00 00 14
利用原反码进行计算的一个过程:
char a=-1
signed char b=-1
unsigned char c=-1
printf("a=%d b=%d c=%d",a,b,c);
答案是 ;你写对了吗?让我们分析一下它的一个过程
  1. #include
  2. int main()
  3. {
  4.   int a=1;
  5.   char *p=(char*)&a;
  6.   if(*p==1)
  7.     printf("小端");
  8.   else
  9.     printf("大端");
  10. }
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

使用道具 举报

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们(3513994353@qq.com)。
您需要登录后才可以回帖 登录 | 立即注册
楼主
涛哥说设计

关注0

粉丝0

帖子25

最新动态