知识点5-6

std::vector::at 和 std::vector::operator[]

operator[] 主要是为了与c语言兼容,他可以向c语言数组一样操作,但是at()其实是首选,因为他会进行边界检查,如果超过vector范围,将会抛出一个例外。

操作符++p,–p右边一定是变量

int main() {
    int m = 5;
    cout << --(m+1) << endl;
    return 0;
}

这里写图片描述

字长为6位的二进制有符号,其最小值为多少?

最大:011111–(31)
最小:100000–(-32)
在计算机显示:
原理是先读取正值100000,
取反011111,
加1:100000
总结1:N位有符号其范围-2^(N-1)~~2^(N-1)-1
总结2:负数表现形式:
先是读取正常原码,原来表现形式;
接着取反。但要注意:正数反码是其本身,负数反码符号位不变,其余取反。
最后加1。

类型转换问题

这里写图片描述

运算时候遵循如下规则:

参与运算类型不同,则需要类型转换;
自动由低精度向高精度转,int和long一起运算,转成long位的;
浮点运算都是双精度的,即使是float类型,实际运行时候还是先转换为double类型
在赋值运算过程中,需要将等号右边的转换为等号左边类型的。如果右边比左边长,那么将会丢失一部分内容。

题目 类型转换
注:本题强调的其实是小数点被去掉的问题,严格来讲不是右边位数比左边长的问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值