• C《二》


    开始阅读谭浩强的C语言程序设计。

    编译一个程序,除了语法以外,还需要管理内存,就是数据结构,学习如何高效的利用内存;数据关系的处理。例如学生管理系统的开发,但是数据关系是有最优解的,也就是可以学会的,因此学习主线就是沿着C语言的设计主线来推理C。

    接着对上次1+1的程序的探索,int i,j,k都是CPU写入内存,CPU由两部分组成,一个是自己的内存,一个是自己的逻辑处理问题的结构。k = i + j是把两个数据的和读入然后写入内存存储起来,并将结果放在内存里边。

    k等价于申请的两个内存的标号或者数据,也就是变量。首先讲数据如何在内存中存储。

    计算机是二进制的世界0和1,一个字节有8位用来存储数据。

    对于十进制中的0123456789的存储方式分别为:

    0000-0000、0000-0001、0000-0010、0000-0011、0000-0100、

    0000-0101 //5、0000-0110 //6、0000-0111 //7、0000-1000 //8、以此类推。

    注意7+8=15 因此15的二进制就是1111。也就是四个字节能表示的数就是0-15,之后的就是用

    0123456789ABCDEF表示。

    0001 == 2^0、0010 == 2^1、0100 == 2^2、1000 == 2^3

    靠,被他搞晕了,原本是知道如何对十进制转换成二进制的。

    继续,char和int不仅是申请类型,而且是申明类型,开始编程:

    code

    当给i强行转换类型的时候,把i当一个字节来转换,如果字节数超过255的时候,就会出现一些有趣的现象,例如输入i为300的时候结果输出的是44,为什么?因为十进制转16进制为012C,而因为只取一个字节,为2C,在十进制中就代表44,因此输出是44。

    那么为什么先取2C而不是01呢,因为在内存里面的存储方式是左边小右边大,我们人类正常的读写顺序是从左往右读取,也就从高读到低,而计算机要从低开始存储数据,则是从又到左读入数据。因此是2C开始存储。

    好有意思的思维。。。

    The more efforts,the more happiness
  • 相关阅读:
    python 3.6.2 使用VScode 安装requests包
    JExcel读取Excel,完成随机数对应学号,随机选取学生姓名
    HashMap和Map的道道
    腾讯云主机windows 2012 r2搭建ftp服务器
    关于网站域名访问出现welcome to nginx 的问题
    腾讯云主机windows 2012 r2标准版&&搭建java环境(jdk+tomcat)
    Anaconda 安装+使用+换源+更新
    已知三点求平面方程、平面法向量和点到平面的距离
    Open Cascade:计算体积
    VS2015安装QT插件
  • 原文地址:https://www.cnblogs.com/wing1995/p/4496032.html
Copyright © 2020-2023  润新知