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个二进制数位
        构成的
    
    *也可以作为单目操作符使用,这个时候它可以
        根据地址找到地址对应的存储区
    
    三目操作符可以从两套不同的计算规则中选择
        一套进行计算
    三目操作符格式如下
    布尔值 ? 公式一 : 公式二
    如果布尔值是真就采用公式一进行计算,否则
        采用公式二进行计算
    不要在问号后使用赋值操作符
  • 相关阅读:
    python学习笔记之--read、readline和readlines
    目录操作习题
    递归习题
    文件操作练习题
    HandleBase句柄的5种写法
    ContextBase
    BasegoSort
    PrototypePra原型_设计订单保存
    DesignPattenTemplate模板模式
    DesignPattenStrategy策略模式
  • 原文地址:https://www.cnblogs.com/Kernel001/p/7735151.html
Copyright © 2011-2022 走看看