zoukankan      html  css  js  c++  java
  • 二进制转换、字符编码的演化、Python里使用的编码、浮点数、浮点数的精确度问题

                                                             二进制转换

     

               二进制是计算技术中广泛采用的一种数制二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

    • 古时候敌人来了,如何通信呢?
          ①派人跑着去通知,速度太慢,等人回来,仗也打完了。
          ②点狼烟信号,那要怎么点呢?

             来一个人点一根?来了5000人,点5000根,不用打了,自己给自己烧死了。

             那就约定好,来10个人点1根,来100个人点2根,来1000个人点3根,来5000个点4根,来10000个点5根。

              可是这样又不太精确了,怎样可以更加精确呢?

         ①假如有20个狼烟孔,狼烟孔点燃了代表有人,没点燃代表没人。这时候,1个敌人来了,点1根狼烟。

         ②又来了2个敌人呢?就把第一个狼烟孔灭掉,点燃第二个,这样只点燃第二个孔就代表两个人。

         ③现在来了3个敌人呢?再把第一个狼烟孔点着了就表示3个人。

         ④那如果来了4个人敌人,现在有两根狼烟都点着了只能表示3个人,所以只好再点一根,同时还要灭掉前面的两根,因为第三根这一根狼烟就可以表示4个敌人。

         。。。。。。。。。。。。。。。

    • 1,2,4,8,16,32,64...按照 2 的 n次方,来准确地表示敌人的数量了。

    • 二进制与十进制的转换小练习

              先把他们代表的值依次写出来,然后再根据10进制的值把数填到相应位置,就好了。

              十进制转二进制方法相同,只要对照二进制为1的那一位对应的十进制值相加就可以了。

              256     128     64     32     16     8     6    4    2

               1          0       1       0       1      0     1    1    0     =  342

         

    • 使用Python内置方法-bin(n)计算

            

                                                            ASCII码与二进制

    • 计算机如何把文字转换成二进制?

    • 对应关系表——ASCII码表

          

             SCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

             由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母 A的编码是65,小写字母 z的编码是122。后128个称为扩展ASCII码。

    • 文字转换为二进制

            一个空格对应的数字是0          翻译成二进制就是0(注意字符'0'和整数0是不同的)
            一个对勾√对应的数字是251       翻译成二进制就是11111011

    • 在ASCII码表里,最多的字符是255位,所以我们使用8位来表示1个字符

         ①每一位0或者1的空间单位为bit(比特),这是计算机中“最小的表示单位”。

         ②8bit = 1bytes,是计算机中“最小的存储单位”,1bytes缩写为1B。

                                                              字符编码的演化

    • GBK18030与GB2312与GBK1.0

    • 全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。

                                                      Python里使用的编码

    •  Python2.x 默认编码是ASCII

              Python2.x 要想修改为UTF-8 要在开头加上 “#! -*- coding: utf-8 -*-”

    •  Python3.x 默认编码是UTF-8

                                                         基本数据类型

    • 浮点数

    • 科学计数法

            

                                                     

                                                      浮点数的精确度问题

    • 在Python中,浮点数只能精确的存储16位。

           

          

  • 相关阅读:
    深度分页,不存在的
    netty做客户端实战(二)
    netty服务端实战(一)
    netty做上位机主动同时连接多个下位机时,接受报文报 java.lang.IndexOutOfBoundsException: srcIndex: 0异常错误
    使用线程实现多生产者,多消费者demo
    vscode中vue安装,使用的插件
    实用的RBAC模型
    Springboot+thymeleaf+shiro整合
    Log4j作用
    SpringBoot整合thymeleaf
  • 原文地址:https://www.cnblogs.com/wqq0723/p/9516827.html
Copyright © 2011-2022 走看看