整数储存形式(c基础)

原码表示法 定义:原码是一种简单的整数表示方法。对于一个有符号整数(以 8 位为例),最高位为符号位,0 表示正数,1 表示负数,其余位表示数值的绝对值。 示例: 对于正数 +5,其 8 位原码为 00000101。 对于负数 -5,其 8 位原码为 10000101。 特点:原码表示法很直观,但是在进行减法运算时,需要根据符号位判断是做加法还是减法,这使得运算电路设计相对复杂。 反码表示法 定义:对于正数,反码与原码相同。对于负数,反码是在原码的基础上,符号位不变,其余位按位取反。 示例: 正数 +5 的 8 位反码为 00000101。 负数 -5 的 8 位反码为 11111010。 用途:反码主要用于计算机内部的一些运算,在计算过程中可以简化减法运算为加法运算,但是它也存在一些问题,如存在 +0 和 -0 的不同表示形式。 补码表示法(最常用) 定义:对于正数,补码与原码相同。对于负数,补码是在反码的基础上加 1。 示例: 正数 +5 的 8 位补码为 00000101。 负数 -5 的 8 位补码为 11111011。 运算优势:在计算机中,使用补码进行运算可以将减法运算统一转换为加法运算。例如,计算 5 - 3,可以转换为 5+(- 3)。在补码表示下,直接将 5 的补码(00000101)和 - 3 的补码(11111101)相加,得到 00000010,结果就是 2 的补码,这种方式使得计算机的运算电路设计更加简单高效。 整数范围:以 8 位补码为例,能表示的范围是 - 128(10000000)到 127(01111111)。对于 n 位补码整数,其表示范围是 - 2^(n - 1) 到 2^(n - 1)-1。 移码表示法 定义:移码常用于表示浮点数的阶码部分。对于一个整数(以 8 位为例),移码是在补码的基础上,将符号位取反。 示例: 正数 +5 的 8 位移码为 10000101。 负数 -5 的 8 位移码为 01111011。 用途:移码的主要优点是可以方便地比较两个数的大小。因为移码的大小与真值的大小关系是一致的,即移码大的对应的真值也大。这在浮点数的比较和运算中非常有用。

相关推荐
时间的拾荒人2 分钟前
Qt 窗口系统详解:从菜单栏到对话框的完整指南
开发语言·qt·面试
wuminyu9 分钟前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++
Felven14 分钟前
B. Reverse a Permutation
c语言
wuyk55522 分钟前
Python 网络爬虫入门到实战 第 04 章:请求头、UA 伪装、超时、异常处理、基础反爬绕过
开发语言·爬虫·python
流形填表26 分钟前
题库去重实战:基于题干指纹的重复题清理
开发语言·c#
\光辉岁月/29 分钟前
3.java运算符
java·开发语言
Logic10133 分钟前
C语言/数据结构排序题解:三个数的最大乘积——排序后比较两种候选情况
c语言·数据结构·数组·排序·时间复杂度·算法题·负数处理
知识分享小能手36 分钟前
C++ 学习教程,从入门到精通,string类和标准模板库 — 完整知识点详解(16)
开发语言·c++·学习
qq_4017004141 分钟前
Qt 炫酷曲线,图表,2D/3D开源库
开发语言·qt
无忧.芙桃1 小时前
位图妙用:512MB 实现 40 亿整数的存在性查询
c语言·c++·面试·哈希算法