MIT CS 107 课堂笔记1

本课大纲:

l1.lower-lever C constructs

2.High-lever C++ constructs

3.construct programming

4.scheme

5.python

本节主要内容:数据如何在内存中存储,以0和1的方式,以及如何表示出来。

基础知识:

C/C++

bool

char1 byte
short2 bytes
int4 bytes
long4 bytes
float8 bytes
double

a single bit can sore a zero or a one,1 byte == 8 bytes

0/10/10/10/10/10/10/10/1

1 byte with 8 bits can choose zero or one, so 2^{8} == 256.

for example,65 = 64+1 = 2^{6}+2^{0},so

 

01000001

举例:

short:2 bytes == 16 bits

0000001000000111

                                               2^{9}+2^{2}+2^{1}+2^{0} = 512.

蓝色位处表示符号,0正1负。

2补码:负数取反。

             加入补码的原因是,如果使用传统二进制计算,那么相反数相加并不一定等于0.补码之后,就像多米诺骨牌一样,成为0.

存入输出:

char ch = 'A';
short s = ch;
cout << s << end;
01000001

 

0000000001000001

其他同理可得,但若是上超出下,超出部分舍弃。

符号拓展部分落下不记,会了再说。

float比较特殊。

+/-8位——exp32位————————小数位.xxxxxx

exp:0 - 225

小数位:1-2^{-23}(无限接近于0.9)

总:2^{-127}-2^{128}

例子: 5.0 = 1.25*2^{2}

exp = 129,小数位0.25.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值