对编码的理解和计算机存数据的理解

Posted nowroot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对编码的理解和计算机存数据的理解相关的知识,希望对你有一定的参考价值。

                            编码:计算机只认识0101,因此要把我们认识文字和英文字符转换为二进制数字。

                            整型常量分为 整数和字符,整数使用原码存储,字符在内存存取需要转换为数字,这个就是ASCII,当然还有各种中文编码,还有浮点数存取,这个复杂。

                           整型常量注意一个是使用unsigned 还是signed 区别,最高位明显不一样,实际编程用的大多是unsigned xxxx;

                          字符是离散的,先要通过ASCIII码转换为数字,然后存储。

                           

#include "common.h"
#include <stdio.h>
#include <stdlib.h>
 
static float test_point = 1.3435;
static int   normal_point = 1;


//8进制g
static int   test_data = 01000;
static char  signed_data = 0b01111111;
static unsigned char  unsigned_data = 0b11111111;
static char  full_signed_data = 0b11111111;
static char  A = a;



int main()
{
    char letter = a;
    char  test_data = abc;
    char* p_data = "hello world";
    //while (1) 
    // 代数式 -------------->   C语言表达式
    // 四舍五入
    char   expression = 2+3/1.2;
    {
        while (1)
        {
            //printf("%c
", letter  000000 
            printf("expression is %d
", expression);
            printf("signed_data is %d
", signed_data);
            printf("unsigned_data is %d
", unsigned_data);
            printf("full_signed_data is %d
", full_signed_data);
            printf(" A  is %d
", A);
            printf("sizeof float is %d
", sizeof(float));
            // double  的大小 
            printf("sizeof double is %d
", sizeof(double));
            
            
        //    free(p_data);
            printf("p_data is 0b%o
", p_data);
            Sleep(1000);
        }
        printf("my first task
");
    }

    return 0;
} 
技术图片

 

以上是关于对编码的理解和计算机存数据的理解的主要内容,如果未能解决你的问题,请参考以下文章

递进迭代敏捷

深入理解计算机系统(2.4)------整数的表示(无符号编码和补码编码)

对字符编码的理解

如何理解这段代码片段中的两对括号?

深入理解:Redis哈希结构内存模型剖析

深入理解计算机系统之信息的存储和处理