美文网首页
2018-09-27进制和字符串

2018-09-27进制和字符串

作者: _墨宇_ | 来源:发表于2018-09-27 20:42 被阅读0次

    一、进制运算

    1.计算机在存储数字的时候都是以二进制的形式去存的
    2.进制分为:十进制,八进制,十六进制,二进制
    (1)十进制:逢十进一
    (2)二进制:逢2进一,所有的二进制的基础数据为0和1。
    二进制换算十进制:

    image.png
    (3)八进制:逢八进一
    基数为0,1,2,3,4,5,6,7,8,9
    (4)十六进制:
    基数为09,af
    3.进制的相互转换
    (1)其他进制转换为十进制,每一位乘以进制的幂次数,然后相加求和。十进制转换为其他进制,用辗转取余法
    (2)二进制转换为8进制
    每三位转换成一位
    eg:110 011 = 0o63
    (3)二进制转换为十六进制,每4位转换成一位
    eg:110011 = 0011 0011 = 0x33
    (4)二进制前缀 0b 八进制前缀 0o 十六进制的前缀 0x
    (5)二进制函数 bin 八进制函数 oct 十六进制函数 hex

    二、原码,反码和补码

    计算机中存放数剧时候,存的就是数据的补码。首位是数据的符号,0为正数,1为复数
    (1)原码:整数的二进制形式
    (2)反码:正数的反码就是原码;复数的反码首位不变,1的反码为0,0的反码为1
    (3)补码:正数的补码就是它的原码;负数的补码是它的反码加1
    eg:-10 -> (反码)11111111 11110101 -> (补码)1111111 11110110
    总结:正的反码和补码都是原码;负数的补码是反码加1,反码是原码符号位不变,其他位取反

    三、位运算

    计算机存数字存补码,计算的时候也是补码,最后结果看的时候是看的原码
    1.按位与 “&”
    num1 & num2 ---> 两个数字都为1时结果才为1,否则为0


    image.png

    2.按位或 “|”
    num1 | num2 只要有一个为1,结果就是1;两个都为0,结果才是0

    image.png

    3.^(异或)
    num1 ^ num2 不同为1,相同为0

    image.png

    4.~(取反)
    ~ num 将每一位取反


    image.png

    5.左移
    num1 << num2
    将补码向左移动指定的位数,符号位不变,在最后面补指定个数的0
    即将num1 的补码向左移动 num2 位
    规律:(正数和负数都实用):m << n == m * (2^n)
    eg:10 << 2 == 10 * 2^2

    6.右移
    数字 >> 位数: 将补码向右移动指定的位数,符号位不变,在符号位的后面补指定个数的0(正)或者1(负)
    规律(只适用于正数):m >> n == m // (2^n)

    四、字符串(str)

    1.什么是字符串
    在python中通过单引号或者双引号引起来的字符集就是字符串,字符串中引号中的字符集就是有各种不同的字符组成的。

    eg: image.png

    2.Unicode编码
    (1)python中字符串中字符采用的是Unicode编码
    (2)Unicode编码:是通过两个字节来对一个字符进行编码(0~ 2^16-1)。它几乎包含了世界上所有的符号

    (3)chr(数字): 获取数字在Unicode编码表中对应的字符,返回的是只有一个字符的字符串 image.png

    (4)ord(字符): 获取字符对应的Unicode码


    image.png

    3.转义字符(适用于所有语言)
    一些特殊功能和具有特殊意义的字符,直接放在字符串的引号中无效通过 "" 来转义
    eg:
    \n -----> 换行
    \ -----> 使用
    ' ----> 使用'
    \t -----> 制表符

    image.png

    相关文章

      网友评论

          本文标题:2018-09-27进制和字符串

          本文链接:https://www.haomeiwen.com/subject/qvzeoftx.html