 Uber 核心派单系统及其集群管理演化-李宁外部)联动,⾃自动回滚。 ⾃自动排查故障, 通过 tracking系统 开源: Jaeger@github 右侧是Uber在线服务依 赖关系图。对于⼤大规模 复杂系统,⼈人⼯工处理理故 障速度太慢 Ring0 • 单⼀一核⼼心组,拥有⾼高系统权 线,包括流量量切换 • 在较⼤大故障的处理理中起到领导 和汇报作⽤用 流程优化 Post Mortem • ⼀一切事故免责 • 对事不不对⼈人 • 分析问题根源并进⾏行行讨论0 码力 | 23 页 | 15.26 MB | 1 年前3 Uber 核心派单系统及其集群管理演化-李宁外部)联动,⾃自动回滚。 ⾃自动排查故障, 通过 tracking系统 开源: Jaeger@github 右侧是Uber在线服务依 赖关系图。对于⼤大规模 复杂系统,⼈人⼯工处理理故 障速度太慢 Ring0 • 单⼀一核⼼心组,拥有⾼高系统权 线,包括流量量切换 • 在较⼤大故障的处理理中起到领导 和汇报作⽤用 流程优化 Post Mortem • ⼀一切事故免责 • 对事不不对⼈人 • 分析问题根源并进⾏行行讨论0 码力 | 23 页 | 15.26 MB | 1 年前3
 RISC-V 手册 v2(一本开源指令集的指南)它应该适应所有实现技术,包括现场可编程门阵列(FPGA)、专用集成电路 (ASIC)、全定制芯片,甚至未来的设备技术。 ⚫ 它应该对所有微体系结构样式都有效:例如微编码或硬连线控制;顺序或乱序执行 流水线; 单发射或超标量等等。 ⚫ 它应该支持广泛的专业化,成为定制加速器的基础,因为随着摩尔定律的消退, 加速器的重要性日益提高。 ⚫ 它应该是稳定的,基础的指令集架构不应该改变。更重要的是,它不能像以前的 ?? × ???? ????? ????? = ???? ??????? 即使一个简单的 ISA 可能在每个程序执行的指令数方面多于复杂的 ISA,但它可以通过 更快的时钟频率或更低的平均单条指令周期数(CPI)来弥补。 例如,运行 CoreMark 测试程序[Gal-On, Levy 2012](100000 次迭代)后,得到 ARM-32 Cortex-A9 的性能为: 32 虽然架构师不该为了有助于某个时间点的某一个特定实现而特意加入某些功能,但他们 也不应该放入阻碍某些实现的功能。例如,如上一页所述,ARM-32 和其他一些 ISA 具有 Load Multiple 指令。这些指令可以提高单发射流水线设计的性能,但会降低多发射流水线的 效率。原因在于这种直截了当的实现排除了与其他指令并行地调度 Load Multiple 的各个负 载的可能,从而降低了这些处理器的指令吞吐量。 提升空间0 码力 | 164 页 | 8.85 MB | 1 年前3 RISC-V 手册 v2(一本开源指令集的指南)它应该适应所有实现技术,包括现场可编程门阵列(FPGA)、专用集成电路 (ASIC)、全定制芯片,甚至未来的设备技术。 ⚫ 它应该对所有微体系结构样式都有效:例如微编码或硬连线控制;顺序或乱序执行 流水线; 单发射或超标量等等。 ⚫ 它应该支持广泛的专业化,成为定制加速器的基础,因为随着摩尔定律的消退, 加速器的重要性日益提高。 ⚫ 它应该是稳定的,基础的指令集架构不应该改变。更重要的是,它不能像以前的 ?? × ???? ????? ????? = ???? ??????? 即使一个简单的 ISA 可能在每个程序执行的指令数方面多于复杂的 ISA,但它可以通过 更快的时钟频率或更低的平均单条指令周期数(CPI)来弥补。 例如,运行 CoreMark 测试程序[Gal-On, Levy 2012](100000 次迭代)后,得到 ARM-32 Cortex-A9 的性能为: 32 虽然架构师不该为了有助于某个时间点的某一个特定实现而特意加入某些功能,但他们 也不应该放入阻碍某些实现的功能。例如,如上一页所述,ARM-32 和其他一些 ISA 具有 Load Multiple 指令。这些指令可以提高单发射流水线设计的性能,但会降低多发射流水线的 效率。原因在于这种直截了当的实现排除了与其他指令并行地调度 Load Multiple 的各个负 载的可能,从而降低了这些处理器的指令吞吐量。 提升空间0 码力 | 164 页 | 8.85 MB | 1 年前3
 RISC-V 开放架构设计之道 1.0.0AMOMAXU.W rd,rs2,(rs1) 谓词不等 R VPNE rd,rs1,rs2 谓词小于 R VPLT rd,rs1,rs2 类别 名称 类型 RV32{F|D} ( 单/双精度浮点) 谓词大于等于 R VPGE rd,rs1,rs2 传送 从整数传送 R FMV.W.X rd,rs1 FMV.D.X rd,rs1 谓词与 R VPAND 技术骨干,硕士课题围绕缓存架构设计和缓存一致性协议开展,相关研究成果落地应 用于 “香山” 项目的缓存架构设计。曾参与国家重点研发计划 “软件定义的云计算基 础理论与方法”,负责标签化 RISC-V 单节点原型系统的缓存设计以及标签化 RISC-V 集群 “火苗” 系统的搭建。现从事 GPGPU 架构研发工作。 余子濠,中国科学院计算技术研究所博士,本科毕业于南京大学,师从袁春风教 授;博士毕 ........................... 32 4 RV32M:乘法和除法指令 ..................................... 44 5 RV32FD:单/双精度浮点数 ................................... 48 6 RV32A:原子指令 .......................................0 码力 | 223 页 | 15.31 MB | 1 年前3 RISC-V 开放架构设计之道 1.0.0AMOMAXU.W rd,rs2,(rs1) 谓词不等 R VPNE rd,rs1,rs2 谓词小于 R VPLT rd,rs1,rs2 类别 名称 类型 RV32{F|D} ( 单/双精度浮点) 谓词大于等于 R VPGE rd,rs1,rs2 传送 从整数传送 R FMV.W.X rd,rs1 FMV.D.X rd,rs1 谓词与 R VPAND 技术骨干,硕士课题围绕缓存架构设计和缓存一致性协议开展,相关研究成果落地应 用于 “香山” 项目的缓存架构设计。曾参与国家重点研发计划 “软件定义的云计算基 础理论与方法”,负责标签化 RISC-V 单节点原型系统的缓存设计以及标签化 RISC-V 集群 “火苗” 系统的搭建。现从事 GPGPU 架构研发工作。 余子濠,中国科学院计算技术研究所博士,本科毕业于南京大学,师从袁春风教 授;博士毕 ........................... 32 4 RV32M:乘法和除法指令 ..................................... 44 5 RV32FD:单/双精度浮点数 ................................... 48 6 RV32A:原子指令 .......................................0 码力 | 223 页 | 15.31 MB | 1 年前3
 KiCad IDF 导出器 5.1是在下端(导线在右侧)还是在上端(导线在左侧)。 Note 在当前版本的 KiCad 封装模块中,THT 元件的引脚沿 Y 轴而非 X 轴进行组织,器件的引脚 1 位于封装的原点而 不是封装的中心。定位和定位元件边框以适合您的特定尺寸; 这将避免为 IDF 元件边框指定非零旋转的需要。由于 IDF 导出器当前忽略(X,Y)偏移值,因此在 IDF 元件边框中使用正确的原点至关重要。 对于 SMT 元件, 放 b''b'' 在 b''b'' 左 b''b'' 侧 b''b'' 或 b''b'' 右 b''b'' 侧 b''b''。b'' b'' 输 b''b'' 入 b''b'':b'' b'' 单 b''b'' 位 b''b'':b''mm, inb''(b''b'' 毫 b''b'' 米 b''b'' 或 b''b'' 英 b''b'' 寸 b''b'') b'' b'' 方 b''b'' b''b'' 有 b''b'' 单 b''b'' 个 b''b'' 引 b''b'' 线 b''b''(b''b'' 轴 b''b'' 向 b''b'')b''b'' 或 b''b'' 倒 b''b'' 角 b'' b'' 左 b''b'' 上 b''b'' 角 b''b''。b'' b'' 输 b''b'' 入 b''b'':b'' b'' 单 b''b'' 位 b''b'':b''b''0 码力 | 14 页 | 562.56 KB | 1 年前3 KiCad IDF 导出器 5.1是在下端(导线在右侧)还是在上端(导线在左侧)。 Note 在当前版本的 KiCad 封装模块中,THT 元件的引脚沿 Y 轴而非 X 轴进行组织,器件的引脚 1 位于封装的原点而 不是封装的中心。定位和定位元件边框以适合您的特定尺寸; 这将避免为 IDF 元件边框指定非零旋转的需要。由于 IDF 导出器当前忽略(X,Y)偏移值,因此在 IDF 元件边框中使用正确的原点至关重要。 对于 SMT 元件, 放 b''b'' 在 b''b'' 左 b''b'' 侧 b''b'' 或 b''b'' 右 b''b'' 侧 b''b''。b'' b'' 输 b''b'' 入 b''b'':b'' b'' 单 b''b'' 位 b''b'':b''mm, inb''(b''b'' 毫 b''b'' 米 b''b'' 或 b''b'' 英 b''b'' 寸 b''b'') b'' b'' 方 b''b'' b''b'' 有 b''b'' 单 b''b'' 个 b''b'' 引 b''b'' 线 b''b''(b''b'' 轴 b''b'' 向 b''b'')b''b'' 或 b''b'' 倒 b''b'' 角 b'' b'' 左 b''b'' 上 b''b'' 角 b''b''。b'' b'' 输 b''b'' 入 b''b'':b'' b'' 单 b''b'' 位 b''b'':b''b''0 码力 | 14 页 | 562.56 KB | 1 年前3
 KiCad 5.1快速入门 鼠标悬停在要删除的元件上,然后按 [Delete]。 15. 您还可以通过将鼠标悬停在原理图页上并按 [C] 来复制已经存在于原理图页上的元件。单击要放置新复制元件 的位置。 16. 右键单击第二个电阻。选择 拖动。重新定位元件并左键单击以放下。将鼠标悬停在元件上并按 [g] 可以实现相 同的功能。[r] 将旋转元件,而 [x] 和 [y] 将围绕其 x 轴或 y 轴翻转。 KiCad 入门 13 / 41 Note 默认焊盘连接设置为 防散热 (花焊盘),将 轮廓角度设置为 仅限 H,V 和 45 度,然后单击 确定。 24. 通过单击旋转中的每个角来跟踪板的轮廓。通过第二次单击第一个角完成矩形。右键单击刚刚跟踪的区域。单 击 区域 → 填充或重新填充所有区域。板应填充为绿色,看起来像这样: 25. 单击顶部工具栏上的 执行设计规则检查图标 运行设计规则检查器。点击 开始 DRC 。应该没有错误。点击 列表未连接。应该没有未连接的项目。单击 元件属性窗口。将新组件命名为 MYCONN3 ,将 默认参考指示符设置为 J ,将 每个包的单 位数设置为 1 。单击确定。如果出现警告,则单击 是。此时,元件仅由其标签组成。让我们添加一些引脚。单 击右侧工具栏上的 添加引脚图标 。要放置引脚,请在 MYCONN3 标签正下方的零件编辑器工作表中间单 击鼠标左键。 3. 在出现的引脚属性窗口中,将引脚名称设置为 VCC ,将引脚编号设置为0 码力 | 46 页 | 1.33 MB | 1 年前3 KiCad 5.1快速入门 鼠标悬停在要删除的元件上,然后按 [Delete]。 15. 您还可以通过将鼠标悬停在原理图页上并按 [C] 来复制已经存在于原理图页上的元件。单击要放置新复制元件 的位置。 16. 右键单击第二个电阻。选择 拖动。重新定位元件并左键单击以放下。将鼠标悬停在元件上并按 [g] 可以实现相 同的功能。[r] 将旋转元件,而 [x] 和 [y] 将围绕其 x 轴或 y 轴翻转。 KiCad 入门 13 / 41 Note 默认焊盘连接设置为 防散热 (花焊盘),将 轮廓角度设置为 仅限 H,V 和 45 度,然后单击 确定。 24. 通过单击旋转中的每个角来跟踪板的轮廓。通过第二次单击第一个角完成矩形。右键单击刚刚跟踪的区域。单 击 区域 → 填充或重新填充所有区域。板应填充为绿色,看起来像这样: 25. 单击顶部工具栏上的 执行设计规则检查图标 运行设计规则检查器。点击 开始 DRC 。应该没有错误。点击 列表未连接。应该没有未连接的项目。单击 元件属性窗口。将新组件命名为 MYCONN3 ,将 默认参考指示符设置为 J ,将 每个包的单 位数设置为 1 。单击确定。如果出现警告,则单击 是。此时,元件仅由其标签组成。让我们添加一些引脚。单 击右侧工具栏上的 添加引脚图标 。要放置引脚,请在 MYCONN3 标签正下方的零件编辑器工作表中间单 击鼠标左键。 3. 在出现的引脚属性窗口中,将引脚名称设置为 VCC ,将引脚编号设置为0 码力 | 46 页 | 1.33 MB | 1 年前3
 KiCad 5.1 快速入门 [Delete]。 15. 您还可以通过将鼠标悬停在原理图页上并按 [C] 来复制已经存在于原理图页上 的元件。单击要放置新复制元件的位置。 16. 右键单击第二个电阻。 选择 拖动 。 重新定位元件并左键单击以放下。 将鼠标 悬停在元件上并按 [g] 可以实现相同的功能。 [r] 将旋转元件,而 [x] 和 [y] 将围 绕其 x 轴或 y 轴翻转。 注意 右键单击 → 移动 或 [m] 板 应填充为绿色,看起来像这样: 25. 单击顶部工具栏上的 执行设计规则检查 图标 运行设计规则检查器。 点击 开始DRC 。 应该没有错误。 点击 列表未连接 。 应该没有未连接的项目。 单 击 确定 关闭 DRC控制 对话框。 26. 单击 文件 → 保存 保存文件。 要以 3D 方式观察您的电路板,请单击 视图 → 3D 查看器。 27. 您可以拖动鼠标来旋转 PCB。 28 myfootprint 库。 3. 单击顶部工具栏上的 新封装 图标 。 输入 MYCONN3 作为 封装名称 。 在屏 幕中间将出现 MYCONN3 标签。 在标签下,您可以看到 “REF*” 标签。 右键单 击 MYCONN3 并将其移到 “REF*” 上方。 右键单击 “REF__*” ,选择 编辑文本 并将其重命名为 SMD 。 将 显示 值设置为 不可见 。 4. 在右侧工具栏中选择 添加焊盘 图标0 码力 | 59 页 | 574.65 KB | 1 年前3 KiCad 5.1 快速入门 [Delete]。 15. 您还可以通过将鼠标悬停在原理图页上并按 [C] 来复制已经存在于原理图页上 的元件。单击要放置新复制元件的位置。 16. 右键单击第二个电阻。 选择 拖动 。 重新定位元件并左键单击以放下。 将鼠标 悬停在元件上并按 [g] 可以实现相同的功能。 [r] 将旋转元件,而 [x] 和 [y] 将围 绕其 x 轴或 y 轴翻转。 注意 右键单击 → 移动 或 [m] 板 应填充为绿色,看起来像这样: 25. 单击顶部工具栏上的 执行设计规则检查 图标 运行设计规则检查器。 点击 开始DRC 。 应该没有错误。 点击 列表未连接 。 应该没有未连接的项目。 单 击 确定 关闭 DRC控制 对话框。 26. 单击 文件 → 保存 保存文件。 要以 3D 方式观察您的电路板,请单击 视图 → 3D 查看器。 27. 您可以拖动鼠标来旋转 PCB。 28 myfootprint 库。 3. 单击顶部工具栏上的 新封装 图标 。 输入 MYCONN3 作为 封装名称 。 在屏 幕中间将出现 MYCONN3 标签。 在标签下,您可以看到 “REF*” 标签。 右键单 击 MYCONN3 并将其移到 “REF*” 上方。 右键单击 “REF__*” ,选择 编辑文本 并将其重命名为 SMD 。 将 显示 值设置为 不可见 。 4. 在右侧工具栏中选择 添加焊盘 图标0 码力 | 59 页 | 574.65 KB | 1 年前3
 廖雪峰JavaScript教程2. true || false; // 这个||语句计算结果为true 3. false || true || false; // 这个||语句计算结果为true ! 运算是非运算,它是一个单目运算符,把 true 变成 false , false 变成 true : 1. ! true; // 结果为false 2. ! false; // 结果为true 3. ! (2 > length; i++) { 11. sum += rest[i]; 12. } 13. return sum; 14. } 如果要返回一个对象,就要注意,如果是单表达式,这么写的话会报错: 1. // SyntaxError: 2. x => { foo: x } 因为和函数体的 { … } 有语法冲突,所以要改为: 1. // ok: 2. x => 对象不但充当全局作用域,而且表示浏览器窗口。 window 对象有 innerWidth 和 innerHeight 属性,可以获取浏览器窗口的内部宽度和高度。 内部宽高是指除去菜单栏、工具栏、边框等占位元素后,用于显示网页的净宽高。 兼容性:IE<=8不支持。 1. 'use strict'; 2. 3. // 可以调整浏览器窗口大小试试: 4. alert('window inner size:0 码力 | 264 页 | 2.81 MB | 10 月前3 廖雪峰JavaScript教程2. true || false; // 这个||语句计算结果为true 3. false || true || false; // 这个||语句计算结果为true ! 运算是非运算,它是一个单目运算符,把 true 变成 false , false 变成 true : 1. ! true; // 结果为false 2. ! false; // 结果为true 3. ! (2 > length; i++) { 11. sum += rest[i]; 12. } 13. return sum; 14. } 如果要返回一个对象,就要注意,如果是单表达式,这么写的话会报错: 1. // SyntaxError: 2. x => { foo: x } 因为和函数体的 { … } 有语法冲突,所以要改为: 1. // ok: 2. x => 对象不但充当全局作用域,而且表示浏览器窗口。 window 对象有 innerWidth 和 innerHeight 属性,可以获取浏览器窗口的内部宽度和高度。 内部宽高是指除去菜单栏、工具栏、边框等占位元素后,用于显示网页的净宽高。 兼容性:IE<=8不支持。 1. 'use strict'; 2. 3. // 可以调整浏览器窗口大小试试: 4. alert('window inner size:0 码力 | 264 页 | 2.81 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 C# 版基本資料型別以二進位制的形式儲存在計算機中。一個二進位制位即為 1 位元。在絕大多數現代作業系統中, 1 位元組(byte)由 8 位元(bit)組成。 基本資料型別的取值範圍取決於其佔用的空間大小。下面以 Java 為例。 ‧ 整數型別 byte 佔用 1 位元組 = 8 位元,可以表示 28 個數字。 ‧ 整數型別 int 佔用 4 位元組 = 32 位元,可以表示 232 個數字。 表 3‑1 列舉了 整數 byte 1 位元組 −27 (−128) 27 − 1 (127) 0 short 2 位元組 −215 215 − 1 0 int 4 位元組 −231 231 − 1 0 第 3 章 資料結構 www.hello‑algo.com 55 型別 符號 佔用空間 最小值 最大值 預設值 long 8 位元組 −263 263 − 1 0 浮點數 float 4 位元組 1.175 × × 10−38 3.403 × 1038 0.0f double 8 位元組 2.225 × 10−308 1.798 × 10308 0.0 字元 char 2 位元組 0 216 − 1 0 布林 bool 1 位元組 false true false 請注意,表 3‑1 針對的是 Java 的基本資料型別的情況。每種程式語言都有各自的資料型別定義,它們的佔用 空間、取值範圍和預設值可能會有所不同。0 码力 | 379 页 | 18.79 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 C# 版基本資料型別以二進位制的形式儲存在計算機中。一個二進位制位即為 1 位元。在絕大多數現代作業系統中, 1 位元組(byte)由 8 位元(bit)組成。 基本資料型別的取值範圍取決於其佔用的空間大小。下面以 Java 為例。 ‧ 整數型別 byte 佔用 1 位元組 = 8 位元,可以表示 28 個數字。 ‧ 整數型別 int 佔用 4 位元組 = 32 位元,可以表示 232 個數字。 表 3‑1 列舉了 整數 byte 1 位元組 −27 (−128) 27 − 1 (127) 0 short 2 位元組 −215 215 − 1 0 int 4 位元組 −231 231 − 1 0 第 3 章 資料結構 www.hello‑algo.com 55 型別 符號 佔用空間 最小值 最大值 預設值 long 8 位元組 −263 263 − 1 0 浮點數 float 4 位元組 1.175 × × 10−38 3.403 × 1038 0.0f double 8 位元組 2.225 × 10−308 1.798 × 10308 0.0 字元 char 2 位元組 0 216 − 1 0 布林 bool 1 位元組 false true false 請注意,表 3‑1 針對的是 Java 的基本資料型別的情況。每種程式語言都有各自的資料型別定義,它們的佔用 空間、取值範圍和預設值可能會有所不同。0 码力 | 379 页 | 18.79 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Dart 版基本資料型別以二進位制的形式儲存在計算機中。一個二進位制位即為 1 位元。在絕大多數現代作業系統中, 1 位元組(byte)由 8 位元(bit)組成。 基本資料型別的取值範圍取決於其佔用的空間大小。下面以 Java 為例。 ‧ 整數型別 byte 佔用 1 位元組 = 8 位元,可以表示 28 個數字。 ‧ 整數型別 int 佔用 4 位元組 = 32 位元,可以表示 232 個數字。 表 3‑1 列舉了 整數 byte 1 位元組 −27 (−128) 27 − 1 (127) 0 short 2 位元組 −215 215 − 1 0 int 4 位元組 −231 231 − 1 0 第 3 章 資料結構 www.hello‑algo.com 55 型別 符號 佔用空間 最小值 最大值 預設值 long 8 位元組 −263 263 − 1 0 浮點數 float 4 位元組 1.175 × × 10−38 3.403 × 1038 0.0f double 8 位元組 2.225 × 10−308 1.798 × 10308 0.0 字元 char 2 位元組 0 216 − 1 0 布林 bool 1 位元組 false true false 請注意,表 3‑1 針對的是 Java 的基本資料型別的情況。每種程式語言都有各自的資料型別定義,它們的佔用 空間、取值範圍和預設值可能會有所不同。0 码力 | 378 页 | 18.77 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Dart 版基本資料型別以二進位制的形式儲存在計算機中。一個二進位制位即為 1 位元。在絕大多數現代作業系統中, 1 位元組(byte)由 8 位元(bit)組成。 基本資料型別的取值範圍取決於其佔用的空間大小。下面以 Java 為例。 ‧ 整數型別 byte 佔用 1 位元組 = 8 位元,可以表示 28 個數字。 ‧ 整數型別 int 佔用 4 位元組 = 32 位元,可以表示 232 個數字。 表 3‑1 列舉了 整數 byte 1 位元組 −27 (−128) 27 − 1 (127) 0 short 2 位元組 −215 215 − 1 0 int 4 位元組 −231 231 − 1 0 第 3 章 資料結構 www.hello‑algo.com 55 型別 符號 佔用空間 最小值 最大值 預設值 long 8 位元組 −263 263 − 1 0 浮點數 float 4 位元組 1.175 × × 10−38 3.403 × 1038 0.0f double 8 位元組 2.225 × 10−308 1.798 × 10308 0.0 字元 char 2 位元組 0 216 − 1 0 布林 bool 1 位元組 false true false 請注意,表 3‑1 針對的是 Java 的基本資料型別的情況。每種程式語言都有各自的資料型別定義,它們的佔用 空間、取值範圍和預設值可能會有所不同。0 码力 | 378 页 | 18.77 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Go 版基本資料型別以二進位制的形式儲存在計算機中。一個二進位制位即為 1 位元。在絕大多數現代作業系統中, 1 位元組(byte)由 8 位元(bit)組成。 基本資料型別的取值範圍取決於其佔用的空間大小。下面以 Java 為例。 ‧ 整數型別 byte 佔用 1 位元組 = 8 位元,可以表示 28 個數字。 ‧ 整數型別 int 佔用 4 位元組 = 32 位元,可以表示 232 個數字。 表 3‑1 列舉了 整數 byte 1 位元組 −27 (−128) 27 − 1 (127) 0 short 2 位元組 −215 215 − 1 0 int 4 位元組 −231 231 − 1 0 第 3 章 資料結構 www.hello‑algo.com 55 型別 符號 佔用空間 最小值 最大值 預設值 long 8 位元組 −263 263 − 1 0 浮點數 float 4 位元組 1.175 × × 10−38 3.403 × 1038 0.0f double 8 位元組 2.225 × 10−308 1.798 × 10308 0.0 字元 char 2 位元組 0 216 − 1 0 布林 bool 1 位元組 false true false 請注意,表 3‑1 針對的是 Java 的基本資料型別的情況。每種程式語言都有各自的資料型別定義,它們的佔用 空間、取值範圍和預設值可能會有所不同。0 码力 | 385 页 | 18.80 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Go 版基本資料型別以二進位制的形式儲存在計算機中。一個二進位制位即為 1 位元。在絕大多數現代作業系統中, 1 位元組(byte)由 8 位元(bit)組成。 基本資料型別的取值範圍取決於其佔用的空間大小。下面以 Java 為例。 ‧ 整數型別 byte 佔用 1 位元組 = 8 位元,可以表示 28 個數字。 ‧ 整數型別 int 佔用 4 位元組 = 32 位元,可以表示 232 個數字。 表 3‑1 列舉了 整數 byte 1 位元組 −27 (−128) 27 − 1 (127) 0 short 2 位元組 −215 215 − 1 0 int 4 位元組 −231 231 − 1 0 第 3 章 資料結構 www.hello‑algo.com 55 型別 符號 佔用空間 最小值 最大值 預設值 long 8 位元組 −263 263 − 1 0 浮點數 float 4 位元組 1.175 × × 10−38 3.403 × 1038 0.0f double 8 位元組 2.225 × 10−308 1.798 × 10308 0.0 字元 char 2 位元組 0 216 − 1 0 布林 bool 1 位元組 false true false 請注意,表 3‑1 針對的是 Java 的基本資料型別的情況。每種程式語言都有各自的資料型別定義,它們的佔用 空間、取值範圍和預設值可能會有所不同。0 码力 | 385 页 | 18.80 MB | 10 月前3
共 809 条
- 1
- 2
- 3
- 4
- 5
- 6
- 81














 
  
 