zoukankan      html  css  js  c++  java
  • 八进制、十进制、操作符(day04)

    把二进制表示的数字从右向左每三个数位分成
        一组,每组用一个0到7之间的数字替换。
        这个替换结果叫做数字的八进制表示方式
    
    0110 1010       01 101 010    152(八进制)
    
    可以直接在程序里用八进制方式表示数字,
        这种数字必须以0做开头
    可以采用%o做占位符把数字的八进制表示
        方式显示在屏幕上
    
    把二进制数字从右向左每四个数位分成一组,
        每组用一个字符替代,这个替换结果
        叫做数字的十六进制表示方式。
        用a到f之间的字母替换10到15之间的数字
    
    1100 1011     cb(十六进制)
    
    可以在程序里使用十六进制方式表示数字,
        这种数字必须以0x做开头
    可以使用%x或%X做占位符把数字的十六进制
        表示方式显示在屏幕上
    显示结果不是以0x做开头的
    使用%x做占位符的时候显示结果里所有字母
       都是小写的
    使用%X做占位符的时候显示结果里所有字母
        都是大写的
    
    操作符代表对数字的处理规则
    根据操作符所需要配合的数字个数把操作符
        分为单目操作符,双目操作符和三目
        操作符
    
    C语言里用+,-,*和/代表加减乘除四则运算符号
    如果参与除法计算的两个数字都是整数则计算
        结果只保留整数部分
    
    取余操作用%表示
    
    赋值操作符用=表示
    它可以把一个数字记录到一个存储区里
    赋值语句可以当作数字使用,这个数字就是
        赋值完成后左边存储区里的数字
    可以在一条语句里使用多个赋值操作符,这个
        时候先计算右边的操作符
    
    C语言里绝大多数双目操作符可以和赋值操作符
       合并形成复合赋值操作符,例如+=, %=等
    复合赋值操作符左边必须是一个存储区,右边
       必须是一个数字
    复合赋值操作符会把双目操作符的结果记录到
        左边的存储区里
    复合赋值操作符的优先级和赋值操作符一样低
    
    自增操作符(++)和自减操作符(--)都是单目
        操作符
    它们都只能和存储区配合使用,它们可以把
        存储区的内容做加一或减一操作
    它们都有两种使用方法,一种是前操作(操作符
        写在存储区前面)另外一种是后操作
        (操作符写在存储区后面)
    使用自增或自减操作符编写的表达式本身也可以
        当作数字使用。前操作当作数字使用的时候
        是修改后的数字,后操作当作数字使用的
        时候是修改前的数字。
    不要在一条语句里对同一个变量多次进行自增
       或自减计算,因为结果不确定
    
    逻辑操作符用来编写逻辑表达式
    逻辑表达式的结果一定是布尔值
    
    !是一个单目逻辑操作符,它表示对一个
       布尔值求反(真变假,假变真)
    
    双目逻辑操作符包括等于(==),不等于(!=),
        大于(>),小于(<),大于等于(>=)和
        小于等于(<=)
    
    如果一个表达式里最多包含一个双目逻辑操作符,
        它在计算机里的结果和在数学里的结果一定
        一样。这种表达式叫做简单逻辑表达式。
    如果一个表达式里包含多个双目逻辑操作符就
        必须首先拆分成多个简单逻辑表达式然后
        再合并
    
    与(&&)和或(||)也是双目逻辑操作符,他们可以
       把两个逻辑表达式合并成一个
    
    如果原来的两个逻辑表达式里有一个的结果
       是假则用与(&&)合并后的逻辑表达式结果
       也一定是假
    如果原来的两个逻辑表达式里有一个的结果
       是真则用或(||)合并后的逻辑表达式结果
       也一定是真
    
    与(&&)和或(||)都具有短路特征(如果
       前面的逻辑表达式结果可以决定整个逻辑
       表达式的结果就不计算后一个逻辑表达式)
    
    位操作符可以直接操作二进制数位
    
    ~是一个单目位操作符
    它可以根据一个数字计算出另外一个数字,这
       两个数字的所有二进制数位内容都不一样
       (按位求反)
    
    双目位操作符包括按位与(&),按位或(|)和
        按位异或(^)
    它们都可以把两个数字对应二进制数位的内容
        做计算
    
    按位与(&)可以把对应数位的内容做与计算
    只要一个数位的内容是0则与计算的结果就是0
    
         3           0000 0011
    &    5           0000 0101
                     0000 0001
    
    按位或(|)可以把两个数字对应数位的内容做
        或计算
    如果一个数位的内容是1则或计算以后结果
        就是1
    
        3          0000 0011
    |   5          0000 0101
                   0000 0111
    
    按位异或(^)可以把两个数字对应数位的内容做
       异或计算
    如果两个数位的内容一样则异或以后结果是0,
       否则结果是1
    
        3           0000 0011
    ^   5           0000 0101
                    0000 0110
    
    移位操作符可以把一个数字里所有二进制数位
        的内容统一向左或向右移动n个位置
    >>表示向右移位
    <<表示向左移位
    它们都是双目位操作符
    操作符左边的数字是将要进行移位操作的数字
    操作符右边的数字是将要移动的位数
    移位操作相当于把每个数位的内容换一个数位放
    
    向左移位的时候一定在右边空出来的数位里
        填充0
    
    有符号类型数字右移时左边空出来的数位里
        一定填充符号位的内容,无符号类型数字
        右移时左边空出来的数位里一定填充0
    
    一般情况下数字向左移动n位相当于乘以2的
        n次方,向右移动n位相当于除以2的n次方
    
    位操作符不会修改现有存储区的内容
    
    &也可以作为单目操作符使用,这个时候
        它可以根据一个存储区计算出存储区
        的地址
    可以使用%p做占位符把地址数据显示在屏幕上
    我们的计算机里所有地址都是32个二进制数位
        构成的
    
    *也可以作为单目操作符使用,这个时候它可以
        根据地址找到地址对应的存储区
    
    三目操作符可以从两套不同的计算规则中选择
        一套进行计算
    三目操作符格式如下
    布尔值 ? 公式一 : 公式二
    如果布尔值是真就采用公式一进行计算,否则
        采用公式二进行计算
    不要在问号后使用赋值操作符
  • 相关阅读:
    linux下启动和关闭网卡命令及DHCP上网
    python 编码问题
    paddlepaddle
    Convolutional Neural Network Architectures for Matching Natural Language Sentences
    deep learning RNN
    Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
    Python IO密集型任务、计算密集型任务,以及多线程、多进程
    EM 算法最好的解释
    tensorflow 调参过程
    tensorflow 学习纪录(持续更新)
  • 原文地址:https://www.cnblogs.com/Kernel001/p/7735151.html
Copyright © 2011-2022 走看看