zoukankan      html  css  js  c++  java
  • 计算机基础--01

         今天开始学习补充学习一些计算机基础知识。下面开始记笔记模式:

         计算机采用二进制的理由

    1. 技术实现简单:具有两种稳定状态的器件很容易找
    2. 运算规则简单:二进制只有0和1两个符号
    3. 易于与十进制的转换
    4. 计算机能够直接识别的信息只有二进制
    5. 所有需要计算机存储的、处理的信息都必须转换为二进制
    6. 用0表示低电平,1表示高电平

        字符编码

    ASCII码
    • 标准ASCII: 用7位二进制码表示1个符号 (少的一位也就是第8位,最高位默认为0);可以表示128个字符【2的7次方】

    • 扩展ASCII码(ANSI):扩展ASCII码(ANSI)用8位表示一个字符;可以表示256个字符【2的8次方】
    除了ASCII码之外,西文字符编码还有其他的编码,比如:Unicode码、UTF-8等。这些通用的字符编码,可以满足跨语言和平台的文本转换。
     
    外码:输出码【常见的输入法,比如搜狗,智能ABC等,都是属于输入码】
     
    机内码:机内码是汉字在计算机存储的一种编码形式;机内码有:国标码、BIG5等。机内码,并不能直接在屏幕上显示和输出。要在屏幕上输出,需要有字形码或矢量汉字。
                   首先看看国标码,国标码用于计算机之间或与终端之间信息交换时的汉字代码(GB2312、GBK、GB18030) 。国标码里每一个汉字都是由连续的两个字节组成,每个字节7位有效,最高位是1
     
    字形码: 以点阵形式表示一个汉字。字形码我们也叫字形点阵,它是用来确定一个汉字字形点阵的代码。汉字字形点阵中的每一个点会对应一个二进制位。所以要表示一个汉字,需要很多二进制位。
     
    矢量汉字:则是通过软件的方式,将一个汉字表现在屏幕上的。随着技术的发展,我们今天的汉字还有一种表示方法。也就是用软件的方式来描述汉字,也就是所谓的矢量汉字。
                     矢量字库保存对每一个汉字的描述信息,比如一个笔画的起始、终止坐标,半径、弧度等等。在输出是要经过一定的数学运算。矢量汉字可以随意的放大、缩小而不会变形。
                     Windows中使用的字库包括以上两类。 在 FONTS目录下,扩展名为FON的文件为点阵字库,扩展名为TTF的矢量字库。
     
    汉字在计算机中的处理过程:我们通过键盘输入汉字,利用某种输入码或者输入法将汉字输入,输入之后计算机会将它转换为机内码进行存储,机内码既可以是国标码,也可以有像刚才提到的Unicode码,要将机内码输出,需要转换为字形码。
    计算机中的数制:十进制、二进制、十六进制、八进制
     
    十进制特点:
    • 以10为第,递10进1
    • 共有0~9 10个数字符号,用D(decimal)代表
    二进制特点:
    • 以2为底,逢2进位
    • 只有0和1两个符号,用B(binary)表示。
    十六进制特点:
    • 有0到9及A-F共16个数字符号
    • 逢16进位,用H(hex)表示。
    八进制特点:
    • 有0到7共8个数字符号
    • 逢8进位,用O(octal)表示
    各种进制数间的转换:
    • 非十进制数到十进制数的转换:权值展开求和即可;
    • 十进制数到非十进制数的转换:

    10进制到二进制的转换

    • 对整数:除2取余
    • 对小数:乘2取整

    10进制到十六进制的转换

    • 对整数:除16取余
    • 对小数:乘16取整

    10进制到八进制的转换

    • 对整数:除8取余
    • 对小数:乘8取整

    乘X取整,看小数后有多少位,如果小数点要求3位,就乘3次就可以了。

    非十进制数与二进制数的转换
    • 十六进制数与二进制的转换: 用4位二进制数表示1位16进制数;  整数部分,从小数点向左分组,每4位一组,不够4位的高位补0;小数部分,从小数点向右分组,不够4位的在低位补0;
    • 八进制与二进制的转换: 用3位二进制表示1位8进制数;  整数部分,从小数点向左,每3位一组,不够3位的高危补0,小数部分,从小数点向右分组,不够3位的在低位补0。

    每天学一点,每天积累一天,进步就不止一点点!PS:好记性不如烂笔头,学会总结,学会思考~~~ ----要飞翔,必须靠自己!
  • 相关阅读:
    linux内核中的crng是什么?
    linux内核中的hisi_sas是什么?
    linux内核中的brd是什么?
    内核中的xenfs是什么?
    linux内核中的cfq输入输出调度算法
    linux内核中的最简单的输入输出调度算法noop
    linux内核中侧async_tx是什么?
    linux内核中的fuse是什么?
    Executors.newSingleThreadScheduledExecutor();线程池中放入多个线程问题
    Executors.newSingleThreadScheduledExecutor() 问题
  • 原文地址:https://www.cnblogs.com/caofangsheng/p/15037573.html
Copyright © 2011-2022 走看看