整数储存形式(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。 用途:移码的主要优点是可以方便地比较两个数的大小。因为移码的大小与真值的大小关系是一致的,即移码大的对应的真值也大。这在浮点数的比较和运算中非常有用。

相关推荐
yaoxin52112310 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫11 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
noipp11 小时前
推荐题目:洛谷 P10907 [蓝桥杯 2024 国 B] 蚂蚁开会
c语言·c++·算法·编程·洛谷
学逆向的11 小时前
C++纯虚函数
开发语言·c++·网络安全
程序员二叉12 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉12 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
凡人叶枫12 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员12 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
code bean12 小时前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务
LabVIEW开发13 小时前
LabVIEW + MATLAB 混合编程:爆炸场测试数据精准采集方案
开发语言·matlab·labview