当前位置: 首页 > news >正文

CSAPP-信息的表示和处理

文章目录

      • 概念扫盲
      • 思想理解
      • 经典好图
      • 安全事件

概念扫盲

1.大端高位在前,小端低位在前
2.逻辑运算符(&& 、||、!)与位级运算(&、|、~)的差异
3.宏可以保证无论代码如何编译,都能生成正确的格式字符串
4.补码最小值的逆元就是它本身
5. 非规格化数可以用于表示非常接近0.0的数,提供了逐渐下溢的属性
6. 对于任何x,NaN+ f x ^fx fx=NaN。即浮点数计算中NaN无逆元,无穷数同理

思想理解

1.内存中每个字节的唯一数字表示就是地址,所有地址集合为虚拟地址空间,是用于展现给机器程序的概念映像
2.文本数据比二进制数据具有更强的平台独立性
3.使用宏可以保证不管代码如何编译,都能生成正确的格式字符串
4.补码中最靠近0的负数映射为最大的无符号数
5.当有符号数和无符号数运算时,C语言会隐式将有符号数转换为无符号数
6.小于0的二进制补码除法(2)需要加上偏置,无法推广到除以任意常数
7.C标准中,short==>uint 要先改变大小为int再转为无符号
8.无符号数或者是补码的加法和乘法没有单调性,浮点数乘法没有结合性,这些问题对于科学应用影响很大

经典好图

补码加法边界图像化

在这里插入图片描述

NaN在表示未初始化的数据时有很多好处

在这里插入图片描述

可表示的浮点数分布图

在这里插入图片描述

安全事件

1.XDR库中利用乘法溢出导致的缓冲区溢出
修补方式如下:用64位整数(uint64_t)检查32整数(unsigned int)是否溢出

  uint64_t asize = ele_cnt * (uint64_t) ele_size;unsigned int asize2 = ele_cnt * ele_size;if (asize == asize2) {//执行分配 }else { //抛出异常}

2.爱国者导弹的精确性问题,软件更新导致不同函数读取的时间精度不同,长时间运行导致误差放大
3.Ariane 5爆炸,将64位浮点数转换成16位有符号整数时发生溢出从而传送无效数据

相关文章:

  • 【leetcode】链表的中间节点
  • 网络安全与代理技术:解密 SOCKS5、代理IP 和 HTTP
  • ubuntu常见配置
  • 通过jenkins进行部署java程序到centos上
  • 深入理解Nginx,腾讯T3大佬亲自讲解
  • Mockito入门和使用场景探究
  • 航拍无人机技术,航拍无人机方案详解,无人机摄影技术
  • 美观的404错误页面源码
  • WordPress上传图片错误:不是合法的JSON响应
  • Spatom——利用图神经网络进行蛋白质-蛋白质结合位点预测的新工具
  • 【探索AI】十二 深度学习之第2周:深度神经网络(一)深度神经网络的结构与设计
  • TCP/UDP模型:2024/2/29
  • k8s pod理论
  • 学习JAVA的第七天(基础)
  • 【PHP进阶】Rabbitmq的实际使用
  • 08.Android之View事件问题
  • C# 免费离线人脸识别 2.0 Demo
  • canvas 五子棋游戏
  • JSDuck 与 AngularJS 融合技巧
  • JS基础之数据类型、对象、原型、原型链、继承
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • MaxCompute访问TableStore(OTS) 数据
  • Redis学习笔记 - pipline(流水线、管道)
  • SpiderData 2019年2月25日 DApp数据排行榜
  • vue 配置sass、scss全局变量
  • vue2.0项目引入element-ui
  • Web Storage相关
  • webpack+react项目初体验——记录我的webpack环境配置
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 程序员最讨厌的9句话,你可有补充?
  • 初识 beanstalkd
  • 大整数乘法-表格法
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 小程序开发之路(一)
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • #vue3 实现前端下载excel文件模板功能
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (九)c52学习之旅-定时器
  • (四)库存超卖案例实战——优化redis分布式锁
  • (算法)Travel Information Center
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .net6Api后台+uniapp导出Excel
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • @ResponseBody
  • @RestControllerAdvice异常统一处理类失效原因
  • @RunWith注解作用
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [<死锁专题>]