zoukankan      html  css  js  c++  java
  • 11python预备知识计算机基础知识

    ############################################

    """
    简述解释型和编译型编程语言?
    
    解释型语言:可以直接运行,逐条翻译逐条运行
    编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序
    
    总结
    编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、Pascal,Fortran。
    解释型语言,执行速度慢、效率低;依赖解释器、跨平台性好。如Java、python.
    
    """

    ############################################

    """
    Python解释器种类和特点?
    CPython: 当从Python官方网站下载并安装好Python2.7后,就直接获得了一个官方版本的解释器:Cpython, 这个解释器是用C语言开发的,所以叫 CPython,在命令行下运行python,就是启动CPython解释器,CPython是使用最广的Python解释器。 IPython: IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的,
    好比很多国产浏览器虽然外观不同,但内核其实是调用了IE。 PyPy: 目标是执行效率 采用JIT技术 对python代码进行动态编译,提高执行效率 JPython :运行在Java上的解释器 直接把python代码编译成Java字节码执行 IronPython :运行在微软 .NET 平台上的解释器,把python编译成. NET 的字节码
    """

    ############################################

    """
    位和字节的关系?
    1.位(bit) 
    来自英文bit,表示二进制位。位是计算机内部数据储存的最小单位,11010100是一个8位二进制数。一个二进制位只可以表示0和1两种状态;
    两个二进制位可以表示00、01、10、11四种状态;三位二进制数可表示八种状态。 2.字节(byte) 字节来自英文Byte,习惯上用大写的“B”表示。 字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)。 八位二进制数最小为00000000,最大为11111111;通常1个字节可以存入一个ASCII码,2个字节可以存放一个汉字国标码。 b、B、KB、MB、GB 的关系?1024
    """

    ############################################

    """
    ascii、unicode、utf-8、gbk 区别?
    
    ascii
    8位一个字节,1个字节表示一个字符.即: 2 ** 8 = 256,所以ASCII码最多只能表示256个字符.
    
    unicode
    俗称万国码,把所有的语言统一到一个编码里.解决了ascii码的限制以及乱码的问题.
    unicode码一般是用两个字节表示一个字符,特别生僻的用四个字节表示一个字符.
    于是 ISO 就直接规定必须用两个字节,也就是16位来统一表示所有的字符 utf-8 新的问题出现了,如果统一成unicode编码,乱码问题从此消失了.但是如果你写的文本基本上都是英文的, 用Unicode编码比ascii编码需要多一倍的存储空间,在存储和传输上十分不方便. utf-8应用而生,它是一个"可变长的编码方式",如果是英文字符,则采用ascii编码,占用一个字节. 如果是常用汉字,就占用三个字节,如果是生僻的字就占用4~6个字节. 这个地方要注意,在Unicode的时候一个汉字是两个字节,但是在utf-8的时候一个汉字是3个字节, gbk 国内版本,一个中文字符 == 两个字节 英文是一个字节
    """

     

    ############################################

    """
    字节码和机器码的区别?
    机器码 是电脑CPU直接读取运行的机器码,运行速度最快,但是非常晦涩难懂,同时也比较难编写; 字节码 字节码是一种中间状态的(中间码)的二进制代码(文件),字节码(Bytecode)是一种包含执行程序、由一序列 op 代码/数据对 组成的二进制文件。需要直译器转译后才能成为机器码; 对比字节码与机器码 机器码就是说计算机能读懂的代码,简单点说就是给计算机执行的二进制代码. 字节码,是JAVA语言专有的,它是让JVM来执行的二进制代码 虽然都是二进制代码,但是由于执行它的环境不一样,所以它们存在一些指令集上的区别 一,机器码,完全依附硬件而存在~并且不同硬件由于内嵌指令集不同,即使相同的0 1代码 意思也可能是不同的~
    换句话说,根本不存在跨平台性~比如~不同型号的CPU,你给他个指令10001101,他们可能会解析为不同的结果~
    二,我们知道JAVA是跨平台的,为什么呢?因为他有一个jvm,不论那种硬件,只要你装有jvm,那么他就认识这个JAVA字节码~~
    至于底层的机器码,咱不用管,有jvm搞定,他会把字节码再翻译成所在机器认识的机器码~~~
    """

    ############################################

    ###

    cpu

    ###

    内存,

    内存里面有两个,一个数据,一个指令,

    数据我们可以强行修改,

    指令我们可以强行跳转,行我们可以把他改成不行,

    所以可以做一些邪恶的事情,

    你打开一个程序,这个就要加载进入内存,

    内存里面的数据都是有地址的,就像一个个的房间一样,

    ###

    一个B是8个字节,

    一个字节就是0或1,

    ###

    解释性语言和编译型语言,的区别,

    就是解释性语言,解释就是执行,

    而编译型语言是编译,执不执行再说,

    ####

     

     

    ############################################

     

    ############################################

     

     

    ############################################

  • 相关阅读:
    AJPFX总结mysql复制表结构,表数据
    AJPFX总结IO流中的缓冲思想
    AJPFX学习Java函数知识总结
    AJPFX总结面向对象特征之一的继承知识
    AJPFX学习笔记JavaAPI之String类
    AJPFX:学习JAVA程序员两个必会的冒泡和选择排序
    AJPFX:关于面向对象及java的一些机制的思考
    ES6 入门系列
    Android studio工具介绍
    获得 LayoutInflater 实例的三种方式
  • 原文地址:https://www.cnblogs.com/andy0816/p/12366927.html
Copyright © 2011-2022 走看看