开始阅读谭浩强的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不仅是申请类型,而且是申明类型,开始编程:

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

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

好有意思的思维。。。

最新文章

  1. WPF DatePicker只显示年和月 修改:可以只显示年
  2. [jquery]添加行内容后根据下拉菜单选择内容对比之前已有选项,若有重置再提示
  3. qt qml qchart 图表组件
  4. linux编译php的c扩展
  5. JS对URL字符串进行编码/解码分析
  6. nyoj 139 我排第几个--康拓展开
  7. Spring AOP切面
  8. TCP/IP协议原理与应用笔记02:断点续传
  9. 如何消除word中的回车符号
  10. 你可能不知道的一些JavaScript 奇技淫巧
  11. 【Android进阶学习】shape和selector的结合使用
  12. Nginx学习——Nginx基本配置
  13. c中const定义的问题
  14. 隔离 docker 容器中的用户
  15. la4394
  16. [Robot Framework] 学习资料
  17. hadoop配置历史服务器&&配置日志聚集
  18. Docker技术入门与实战 第二版-学习笔记-9-Docker Compose 项目-2-Compose 命令说明
  19. koa1.x获取原始body内容
  20. Hibernate session FlushMode的五种设置

热门文章

  1. columns数组形式展示不同列数据
  2. 从Oracle官网学习oracle数据库和java
  3. 就这么简单!构建强大的WebShell防护体系
  4. Metal Programming Guide
  5. 架构师养成记--16.disruptor并发框架中RingBuffer的使用
  6. TortoiseGit-2.0.0.0-64bit问题
  7. ubuntu14 安装tftp服务器
  8. BERT和ULMFIT embedding比较文本分类结果
  9. sql自查询各种状态数据总和
  10. python学习,day4:装饰器的使用示例