C++程序设计笔记

C++程序设计笔记

机器语言:由二进制代码构成

汇编语言: 将机器指令映射为一些助记词

解释程序:翻译一条语句,计算机执行一条

编译程序:打包执行,计算机全部执行

Java语言是半编译半解释的高级语言

C++是直接翻译成目的语言


0101 ^ 0000 = 0101

0101 ^ 1111 = 1010

0101 ^ 1111 ^ 1111 = 0101

0101 ^ 1111 ^ 0101 = 1111

a = 0101 = 5, b = 1111 = 13

a = a ^ b = 0101 ^ 1111 = 1010

b = a ^ b = 1010 ^ 1111 = 0101

a = a ^ b = 1010 ^ 0101 = 1111

unsigned 3 = 0011

unsigned 4 = 0100

0011 < 0100

加法运算

3 + 4 = 0011 + 0100 = 0111 = 7

5 + 10 = 0101 + 1010 = 1111 = 15

-2 + 4 = 1101 + 1011 = 1001 源码:1001 -1 = 1000 --> 取反 :0111 = 7

unsigned char usc2 = -1; // 1111 1111

printf(“usc2: %d \n”, usc2); // 255
printf(“usc2: %u \n”, usc2); // 255


signed char sc = -1 // 1000 0001 --> unsigned char : 128 + 1 = 129

unsigned char usc = 1 // 0000 0001

if(sc > usc){

}

-1 : 1111 1111

1、小数进制转换:

2^(-1) , 2^(-2), 2^(-3) , … , 2^(-n)

0.3125 二进制转换:

0.3125 * 2 = 0.625

0.625 * 2 = 1.25

0.25 * 2 = 0.5 (取低位,即取小数点后的数进行 * 2运算)

0.5 * 2 = 1.0

所以0.3125的二进制为: 0.0101

原码,补码,反码

原码:”符号绝对值“表示编码

2、原码缺点:

1、零的表示不唯一,可用加法和减法,不唯一

2、进行四则运算时符号位需单独处理且运算规则复杂

补码:

0的表示唯一

符号位可做为数值参加运算

减法运算课转换为加法运算

模数:就是一共有多少位数,比如二进制整数n位,模数为2^n

n位二进制小数的模数为2

补数:减去一个数 = 加上他的补数

反码的计算规则:

1、负整数:

​ 原码符号位不变(仍是1)

​ 其余各位都取反

例如: x = -00110011

​ [x]原码 = 01110011

​ [x]反码 = 01001100

2、 正整数的反码就是补码

3、补码的计算规则:

负数的补码 = 反码 + 1

正数的补码 = 原码

这样就可以区分0的正负表示形式, 利用了反码的符号位不变,其他位取反的操作区分,要注意的是,补码操作符号位有参与运算。

如果负数之和得正数,或者正数之和得负数,说明运算结果溢出

整型不能直接赋值给枚举, 但枚举可以直接赋值给整型, 因为枚举是整型的子集。

enum Weekday {
    SUN = 7, MON = 1, FEB, WED, THR, FRI, SAT
};

enum Weekday free = SAT;
Weekday res ;
for (int fistday = MON; fistday <= SUN; fistday++) {
    res = Weekday(fistday); // 因为firstday 是int 类型, 而res是enum类型,这里相当于强制转换。
    if (fistday >= free) {
        std::cout << "放假啦!!今天是" << res << endl;
    }
}

c++引用一般用作函数参数来进行双向传递

inline 关键字修饰函数,可以使函数调用省去函数调用和返回操作, 直接将函数嵌入调用的地方, 但前提

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值