对编码的理解和计算机存数据的理解
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; }
以上是关于对编码的理解和计算机存数据的理解的主要内容,如果未能解决你的问题,请参考以下文章