20170622 c++

  1. 存储形式

内存的最小单位是字节;
sizeof(): 单目运算符,用来计算操作数在内存中占据的字节数,其操作数既可以是括在圆括号中的类型标示符,其返回值为无符号整数

          原码         反码        补码
  0             0000 0000    0000 0000     0000 0000
 -0            1000 0000    1111 1111     0000 0000
   一个字节表示的最大范围:
   原码  : 1111 1111~0111 1111   -127~127
   反码:   1000 0000~0111 1111  -127~127
   补码:    1000 0000~0111 1111   **-128~127**
        *其中,1000 0000 的反码为1111 1111 原码为1000 0000表示 128*

char: 有符号的 -128~127
unsigned char : 无符号的 0~255 都能表示256个数

字符‘1’和整数1是不同的概念
字符1,占1个字节 00110001
整数1 占四个字节 0x0001
把字符1变成数字1:直接使用字符1减去字符0即可,如:’1’-‘0’

  1. 操作数、运算符和表达式
    求余:左操作数是正的,求余得到正数,如
        3/(-5)=0...3
         5/(-3)=-1...2
         -3/5 = 0...-3
         -5/3=-1...-2
         自增运算为右结合性
    *p++:自增的优先级高于取内容
括号成员第一  //括号运算符[] () 成员运算.->
全体单目第二;//所有的单目运算符 + - ,++ -- * & !
乘除余三,加减四;
移位五,关系六;//移位<< >> 关系:> < >= <=
等于与不等于排第七;==和!=
位与 异或 和 位或 三分天下八九十;;;这几个都是位运算
逻辑或根与 十二和十一;//逻辑运算:|| 和 &&
条件高于赋值;//三目运算符

备注:*= -= += /=都是赋值运算符

例:x = y + 8;//乘等优先级低于+ 等价于 x = x (y+8)
x=y=z=5;//赋值运算符的右结合性
a=12;
a+=a-=a*a;//乘号优先级最高,然后右结合性
即a = a + ( a = a- a*a): a=a+a = -132-132;
a = 2;
a%= 4-1; //a = a%(4-1);
a+=a*=a-=a*=3;//右结合

条件运算–自左到右
int a = 5,b=6,c=7,d=8;
a>b?a:c>d?c:d 等价于 >b?a:(c>d?c:d) 结果为8

类型转换:隐式:小字节转到大字节

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值