《程序是怎样跑起来的》重点学习笔记

2.4便于计算机处理的"补数"

二进制表示负数要用"二进制的补数"

补数的作用:用整数表示负数

如何获得补数:

以1为例,-1是1取反+1(1111表示-1,在我知道它是有符号的前提之下,我怎么知道它是-1?-1再取反?通过后面的文章了解确实是这样,-1取反和取反+1都可以做到变成绝对值的效果)

为什么不是符号位取反呢?用1和-1的二进制加法就可以了解补码的合理性了

3-5,是3 + (5的补码(负数))

对于有符号,如占一个字节的bit,它表示的数值范围是-128~127,看似是负数多一个,其实0也被归为正数,所以负数范围在-128~-1,正数的范围在0~127

3.计算机进行小数运算时出错的原因

2进制转16进制:2进制4位表示一位16进制:1010 1100.0101 0011 = AC.53

3.3 计算机出错的原因

不论是多少进制的数值,最终都会以二进制的形式表示,但是有可能其他进制能表示的数值二进制不能表示,这就会造成精度损失

以二进制小数点后四位能表示的十进制为例:

可以看到,没有一个可以表示十进制0.1的

以下是double 0.1加100次的结果,结果并不是10.0

3.4什么是浮点数

浮点数是指用符号、尾数、基数和指数这四部分来表示的小数

3.5 正则表达式和EXCESS系统

十进制数的浮点数应该遵循“小数点前面是0,小数点后面第1位不能是0”

二进制:将小数点前面的值固定为1的正则表达式

Excel系统表现:

3.7如何避免计算机计算出错

0.1相加100次,计算机会得到近似值,但是使用(0.1 * 10)加100次然后再除以10,最后得到的就是准确值了 

4.1内存的物理机制很简单

内存是由多个内存IC的电子元件组成

写入与读出:

4.2内存的逻辑模型是楼房

4.3简单的指针

C语言中,指针存的是地址,而对应的数据类型说明该指针可以存储多少字节的数据,如Char * d,如果d指向地址100,根据Char的大小1字节,那么该指针最多从100的地址取到做多1字节的数据

4.4 数组是高效使用内存的基础

数组是使用内存的基础

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值