返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • 正版 编程卓越之道:卷1:Volume 1:深入理解计算机:Understanding
  • 新华书店旗下自营,正版全新
    • 作者: [美]Randall Hyde著 | [美]Randall Hyde编 | [美]Randall Hyde译 | [美]Randall Hyde绘
    • 出版社: 电子工业出版社
    • 出版时间:2020-12
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    美阅书店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: [美]Randall Hyde著| [美]Randall Hyde编| [美]Randall Hyde译| [美]Randall Hyde绘
    • 出版社:电子工业出版社
    • 出版时间:2020-12
    • 版次:1
    • 印次:1
    • 字数:556000
    • 页数:496
    • 开本:16开
    • ISBN:9787121445316
    • 版权提供:电子工业出版社
    • 作者:[美]Randall Hyde
    • 著:[美]Randall Hyde
    • 装帧:平装
    • 印次:1
    • 定价:150.00
    • ISBN:9787121445316
    • 出版社:电子工业出版社
    • 开本:16开
    • 印刷时间:暂无
    • 语种:暂无
    • 出版时间:2020-12
    • 页数:496
    • 外部编号:12023485
    • 版次:1
    • 成品尺寸:暂无

    1编写很好代码须知1

    1.1《编程很好之道》系列1

    1.2本书涵盖的主题2

    1.3阅读本书的前提4

    1.4很好代码的特征5

    1.5本书要求的环境6

    1.6额外建议7

    1.7更多信息7

    2数字表示8

    2.1什么是数字8

    2.2计数系统9

    2.2.1十进制位值计数系统10

    2.2.2底数(基数)11

    2.2.3二进制计数系统12

    2.2.4十六进制计数系统15

    2.2.5八进制计数系统17

    2.3数字/字符串转换18

    2.4内部数字表示形式20

    2.4.1位20

    2.4.2位串21

    2.5有符号和无符号数24

    2.6二进制数的属性26

    2.7符号扩展、零扩展和收缩27

    2.8饱和操作31

    2.9二进制编码的十进制表示32

    2.10定点表示形式33

    2.11比例数字格式35

    2.12有理数表示形式37

    2.13更多信息38

    3二进制算术运算和位运算39

    3.1二进制和十六进制数字的算术运算39

    3.1.1二进制加法40

    3.1.2二进制减法41

    3.1.3二进制乘法42

    3.1.4二进制除法43

    3.2位的逻辑运算45

    3.3二进制数值和位串的逻辑运算47

    3.4有用的位运算48

    3.4.1使用AND运算判断位串中的一位49

    3.4.2使用AND运算判断多个位为零或非零49

    3.4.3比较二进制字符串中的多个位50

    3.4.4使用AND运算创建模n计数器51

    3.5移位和旋转52

    3.6位字段和打包数据55

    3.7数据的打包和解包60

    3.8更多信息65

    4浮点表示形式66

    4.1浮点运算简介66

    4.2IEEE浮点格式72

    4.2.1单精度浮点格式72

    4.2.2双精度浮点格式74

    4.2.3扩展精度浮点格式75

    4.2.4四精度浮点格式76

    4.3规约形式与非规约形式76

    4.4舍入77

    4.5特殊的浮点值79

    4.6浮点数异常80

    4.7浮点运算81

    4.7.1浮点表示形式82

    4.7.2浮点数的加减法82

    4.7.3浮点数的乘除法93

    4.8更多信息102

    5字符表示形式103

    5.1字符数据103

    5.1.1ASCII字符集104

    5.1.2EBCDIC字符集107

    5.1.3双字节字符集108

    5.1.4Unicode字符集109

    5.1.5Unicode码位110

    5.1.6Unicode编码平面111

    5.1.7代用码位111

    5.1.8字形、字符和字素簇112

    5.1.9Unicode规范和规范等价性115

    5.1.10Unicode编码116

    5.1.11Unicode组合字符118

    5.2字符串120

    5.2.1字符串格式120

    5.2.2静态字符串、伪动态字符串和动态字符串127

    5.2.3字符串的引用计数129

    5.2.4Delphi字符串130

    5.2.5自定义字符串格式130

    5.3字符集数据类型130

    5.3.1字符集的幂集表示形式131

    5.3.2字符集的列表表示形式132

    5.4设计自定义字符集133

    5.4.1设计高效的字符集134

    5.4.2数字字符的编码分组135

    5.4.3字母字符分组135

    5.4.4比较字母字符138

    5.4.5其他字符分组140

    5.5更多信息143

    6内存结构和访问144

    6.1基本系统组件144

    6.1.1系统总线145

    6.2内存的物理结构148

    6.2.18位数据总线151

    6.2.216位数据总线152

    6.2.332位数据总线155

    6.2.464位数据总线156

    6.2.5非80x86处理器对小单位内存的访问156

    6.3大端序与小端序结构157

    6.4系统时钟163

    6.4.1内存访问和系统时钟165

    6.4.2等待状态166

    6.4.3缓存168

    6.5CPU的内存访问模式172

    6.5.1直接内存寻址模式172

    6.5.2间接寻址模式173

    6.5.3变址寻址模式174

    6.5.4比例变址寻址模式175

    6.6更多信息175

    7复合数据类型与内存对象176

    7.1指针类型176

    7.1.1指针的实现178

    7.1.2指针与动态内存分配179

    7.1.3指针操作与指针运算179

    7.2数组184

    7.2.1数组声明185

    7.2.2内存中的数组表示形式188

    7.2.3访问数组元素190

    7.2.4多维数组190

    7.3记录/结构体200

    7.3.1Pascal/Delphi记录201

    7.3.2C/C++记录202

    7.3.3HLA记录203

    7.3.4Swift记录(元组)203

    7.3.5记录的内存存储204

    7.4判别联合207

    7.4.1C/C++联合208

    7.4.2Pascal/Delphi联合208

    7.4.3Swift联合209

    7.4.4HLA联合211

    7.4.5联合的内存存储211

    7.4.6联合的其他用途213

    7.5类214

    7.5.1继承216

    7.5.2类构造函数221

    7.5.3多态224

    7.5.4抽象方法和抽象基类225

    7.6C++类229

    7.6.1C++中的抽象成员函数和类230

    7.6.2C++的多重继承231

    7.7Java类233

    7.8Swift类234

    7.9协议与接口235

    7.10泛型和模板239

    7.11更多信息241

    8布尔逻辑与数字设计242

    8.1布尔代数243

    8.1.1布尔运算符243

    8.1.2布尔假设243

    8.1.3布尔运算符优先级246

    8.2布尔函数与真值表246

    8.3函数编号248

    8.4布尔表达式的代数运算250

    8.5规范形式250

    8.5.1极小项和规范形式与真值表252

    8.5.2使用代数方法得到极小项和规范形式254

    8.5.3极大项积规范形式255

    8.6布尔函数简化256

    8.7这和计算机有什么关系264

    8.7.1电路与布尔函数265

    8.7.2组合电路267

    8.7.3时序与时钟逻辑274

    8.8更多信息278

    9CPU体系结构280

    9.1CPU设计基础280

    9.2指令的解码与执行:随机逻辑与微码283

    9.3指令执行详解284

    9.3.1mov指令285

    9.3.2add指令286

    9.3.3jnz指令288

    9.3.4loop指令289

    9.4RISC还是CISC:通过执行更多更快的指令来提高性能290

    9.5提高处理速度的关键:并行291

    9.5.1功能单元294

    9.5.2预取队列296

    9.5.3影响预取队列性能的情况299

    9.5.4同时执行多条指令的流水线299

    9.5.5指令缓存:提供多条内存访问通路304

    9.5.6流水线冒险306

    9.5.7超标量运算:并行执行指令308

    9.5.8乱序执行310

    9.5.9寄存器重命名310

    9.5.10甚长指令字体系结构312

    9.5.11并行处理312

    9.5.12多处理313

    9.6更多信息315

    10指令集体系结构316

    10.1指令集设计的重要性317

    10.2指令设计的基本目标318

    10.2.1操作码的长度选择320

    10.2.2规划未来322

    10.2.3选择指令322

    10.2.4分配指令操作码323

    10.3假想处理器Y86324

    10.3.1Y86的324

    10.3.2Y86指令325

    10.3.3Y86的寻址模式327

    10.3.4Y86指令编码327

    10.3.5Y86指令编码示例330

    10.3.6扩展Y86指令集335

    10.480x86指令编码336

    10.4.1指令操作码的编码339

    10.4.2add指令编码的例子346

    10.4.3x86的立即(常量)操作数编码351

    10.4.48位、16位和32位操作数的编码352

    10.4.564位操作数编码353

    10.4.6指令的替代编码353

    10.5指令集设计对程序员的意义354

    10.6更多信息354

    11内存体系结构与组织355

    11.1内存层次结构355

    11.2内存层次结构的工作原理359

    11.3内存子系统的性能差距360

    11.4缓存体系结构362

    11.4.1直接映射缓存364

    11.4.2全相联缓存365

    11.4.3n路组相联缓存365

    11.4.4缓存行置换策略367

    11.4.5缓存写入策略368

    11.4.6缓存使用与软件369

    11.5NUMA与外设370

    11.6虚拟内存、内存保护与分页370

    11.7编写理解内存层次结构的软件375

    11.8运行时的内存结构376

    11.8.1静态对象与动态对象,绑定与生命期378

    11.8.2代码段、只读数据段与常量段379

    11.8.3静态变量段380

    11.8.4存储变量段380

    11.8.5栈381

    11.8.6堆与动态内存分配381

    11.9更多信息388

    12输入与输出389

    12.1连接CPU与外界389

    12.2端口和系统连接的其他方式393

    12.3输入/输出机制394

    12.3.1内存映射输入/输出395

    12.3.2I/O映射输入/输出396

    12.3.3直接内存访问396

    12.4输入/输出速度等级397

    12.5系统总线与数据传输速率398

    12.5.1PCI总线的性能400

    12.5.2ISA总线的性能401

    12.5.3AGP总线401

    12.6缓冲402

    12.7握手403

    12.8I/O端口超时404

    12.9中断与轮询式I/O405

    12.10保护模式操作与设备驱动程序406

    12.10.1设备驱动模型407

    12.10.2与设备驱动程序通信408

    12.11更多信息409

    13计算机外设总线410

    13.1小型计算机系统接口410

    13.1.1411

    13.1.2改进412

    13.1.3SCSI协议413

    13.1.4SCSI的优点415

    13.2IDE/ATA接口416

    13.2.1SATA接口417

    13.2.2光纤通道418

    13.3通用串行总线418

    13.3.1USB设计418

    13.3.2USB性能420

    13.3.3USB传输的类型421

    13.3.4USB-C423

    13.3.5USB设备驱动程序424

    13.4更多信息425

    14大容量存储设备与文件系统426

    14.1磁盘驱动器426

    14.1.1软盘驱动器427

    14.1.2硬盘驱动器427

    14.1.3RAID系统433

    14.1.4光驱435

    14.1.5CD、DVD与蓝光驱动器436

    14.2磁带驱动器438

    14.3闪存439

    14.4RAM盘441

    14.5固态硬盘442

    14.6混合硬盘443

    14.7大容量存储设备上的文件系统443

    14.7.1顺序文件系统444

    14.7.2高效的文件分配策略445

    14.8编写操作大容量存储设备数据的软件454

    14.8.1文件访问的性能454

    14.8.2同步与异步I/O456

    14.8.3I/O类型的影响457

    14.8.4内存映射文件457

    14.9更多信息459

    15丰富多彩的输入/输出设备460

    15.1探索特定PC上的外设460

    15.1.1键盘461

    15.1.2标准PC并口462

    15.1.3串口464

    15.2鼠标、触控板及其他定点设备465

    15.3操纵杆与游戏控制器466

    15.4声卡467

    15.4.1音频接口外设如何产生声音468

    15.4.2音频与MIDI文件格式470

    15.4.3音频设备编程471

    15.5更多信息472

    后记:运用底层语言思想,编写高级语言代码473

    "Randall Hyde 著有《汇编语言艺术》和《编程很好之道》第一卷、第二卷、第三卷(均由 No Starch 出版社出版),以及Using 6502 Assembly Language和P-Source(均由 Datamost 出版社出版),合著有Microsoft Macro Assembler 6.0 Bible(由 The Waite Group 出版社出版)。过去40年,Hyde 作为嵌入式软/硬件工程师,为核反应堆、交通控制系统及其他消费电子设备开发过仪表工具。他还在加州州立理工大学波莫纳分校和加州大学河滨分校教授计算机科学这门课。 译者简介 覃宇,Thoughtworks咨询师/应用架构专家,12年软件开发经验,移动应用开发专家,作为架构师和技术教练专注于辅导客户团队改进持续交付实践。译有《Kotlin实战》、《领域驱动设计精粹》、《Serverless架构:无服务器应用与AWS Lambda》和《云原生安全与DevOps保障》;合著有《代码管理核心技术及实践》。"

    很好的代码需要利用现代编程语言的优选特性来实现软件功能。但软件最终都要运行在计算机上,无论它是采用哪种编程语言编写的。因此,很好的软件代码也要充分地利用计算机中的各种资源,将计算机的性能发挥到很好。现代编程语言将这些知识隐藏了起来,容易被我们忽视

    。因此,《编程很好之道》系列的第一卷《深入理解计算机》将重点放在软件执行背后的计算机底层上,深入浅出地介绍了计算机体系结构的方方面面,帮助我们理解如何才能写出在计算机上高效运行的代码。本书具体内容包括:数字、字符串及复合数据结构在计算机中的表示形式,以及如何在内存层次结构中访问这些数据;基本的二进制运算、位运算、布尔逻辑,以及如何设计完成运算的中央处理器指令集;输入/输出、大容量存储等丰富多彩的外设,以及把这些外设和计算机相连进行通信的各种总线技术。

    本书适合软/硬件开发人员及系统程序员、移动及嵌入式设备开发者、体系结构设计人员,以及高校计算机相关专业师生。

    "作为Randall1Hyde经典著作《编程很好之道》系列的第1卷,《深入理解计算机》深入地研究了计算机结构,却不需要读者掌握汇编语言。本书是为使用高级编程语言的读者编写的,填补了他们有关计算机底层细节的知识空白。这些知识往往被计算机科学和工程课程遗漏。通过本书可以了解: ● 数字、字符串及高级数据结构在计算机中是如何表示的,这样我们就能理解使用这些数据的固有成本 ● 数据应该如何组织才能被计算机有效地访问 ● CPU是如何运行的,这样我们可以遵循计算机的运行方式来编写代码 ● I/O设备是如何运行的,这样我们就能了解应用程序访问这些设备的性能优化过程 ● 如何充分地利用内存层次结构来生成快速运行的程序 很好的代码是高效的。但在学会编写真正高效的代码之前,我们必须了解计算机系统是如何执行程序的,也必须了解编程语言中抽象的概念和计算机的底层硬件之间是如何映射的。毕竟,好的机器码是程序员写出来的,不是编译器编译出来的。本书的内容是构建所有伟大软件的基础。"

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购