type
status
date
slug
summary
tags
category
icon
password

💻 计算机如何表示负数?三种方法通俗讲解 + 举例

在日常生活中,我们表示负数很简单,写个 - 号就可以了,比如 -3
但在计算机的世界里,所有数据都要转换成二进制(0 和 1),那么它是怎么理解“负数”的呢?
本文将介绍三种常见的负数表示方法,并用 -3 举例来对比。

✅ 一、符号位 + 绝对值(Sign + Magnitude)

  • 原理:用最左边的一位(最高位)表示正负,其余表示绝对值。
  • 0 表示正,1 表示负。
例如:
  • +30 0110011
  • -31 0111011
缺点
  • 有两个“0”(+00),不利于运算。
  • 加减法逻辑复杂。

✴️ 二、1 的补数(One's Complement)

  • 原理:负数 = 对正数二进制按位取反(0变1,1变0)
例如:
  • +30011
  • -3 → 取反 → 1100
缺点
  • 依然有两个“0”(00001111)。
  • 加法时还需要进位处理,不够高效。

💯 三、2 的补数(Two's Complement)✅主流方法

  • 原理:负数 = 对正数先取反再加1
例如:
  • +30011
  • 取反 → 1100
  • 加1 → 1101
所以,-3 的 2 的补数表示是:1101
优点
  • ✅ 只有一个“0”
  • ✅ 加减法可以统一用加法电路完成
  • ✅ 所有主流计算机系统都采用这种方法

📌 总结对比表(以 -3 为例,4 位表示):

方法
-3 的表示方式
符号 + 绝对值
1011
1 的补数
1100
2 的补数 ✅推荐
1101

 

💻 计算机中是怎么表示小数的?——固定小数点数入门讲解

在计算机里,表示小数有两种常见方法:
  • ✅ 浮点数(浮动小数点)
  • ✅ 固定小数点数(Fixed-Point)👉 本文重点!

🔸 什么是固定小数点数?

固定小数点数就是:我们人为规定小数点的位置,然后用二进制来存储这个数。
和浮点数相比,它的好处是运算更快、硬件实现简单,常用于音频处理、嵌入式系统等场景。
比如:
规定一个8位二进制数,前4位是整数,后4位是小数(Q4.4 格式)

🔸 有符号 vs 无符号

固定小数点数也分:
  • 无符号数(Unsigned):只能表示正数
  • 有符号数(Signed):可以表示正数和负数(使用“二的补码”)

🔹 表示范围(以 8 位 Q4.4 为例)

类型
表示范围
说明
无符号数
0 ~ 2⁸ - 10 ~ 255
没有负数,全是正值
有符号数
-2⁷ ~ 2⁷ - 1-128 ~ 127
最高位是符号位,使用二的补码表示负数
  • 无符号的范围是 02ⁿ - 1
  • 有符号的范围是 2ⁿ⁻¹2ⁿ⁻¹ - 1

✅ 总结

固定小数点数 = 小数点固定位置 + 二进制存储
再加上是否带符号,决定了它能表示的数值范围!

冒泡排序 简单整理テスト
Loading...
minami
minami
一个普通的干饭人🍚
Announcement

🎉 ブログへようこそ 🎉

notion image
名前:みなみ独立事務所
性別:男
国籍:China
完全独学だけで基本情報をはじめ31個の資格を仕事をしながら合格。 現在はIT会社の技術担当や、ブログの執筆や学習支援などを手掛けています。 独学で合格できる学習法、勉強法、試験対策を配信します!

📚 主な内容

💻 IT・システム開発
🏠 不動産 × 宅建士
🎓 MBA 学習記録

🔍 コンテンツの探し方

現在、サイトのデザインはシンプルなため、情報がやや探しにくいかもしれません。
気になるテーマを探す際は、タグ検索の利用をおすすめします。