当前位置: 首页 > news >正文

关于原码、反码、补码、移码

机器数、真值、符号位

机器数是将符号数字化的数,是数字在计算机中的二进制表示形式。机器数有2个特点:一是符号数字化,二是其数的大小受机器字长的限制。机器字长

二进制每个0和1是组成二进制的最小单位,称作位(bit),常用的位数有8、16、32、64位,字长为8位的组合编码称为字节,是计算机的基本编码单位。字长反应了一台计算机的计算精度,其他条件相同的情况下,字长越长,计算机处理速度越快。所以就有分成8位、16位、32位、64位CPU,对应相应位数的字长,越高位数的cpu可以同时处理相应位数的二进制数据,所以位数越高的CPU处理速度也就越快。

机器字长就同字长一样,机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数,所以这个也反映了计算机的精度和速度。

由于计算机内部硬件只支持两种物理状态,一般是0和1,实用数据的+和-,我们用1表示-,0表示+,通常这个符号放在二进制数据的最高位,也称为符号位。例如一串二进制数表示为101001,机器数是带符号的,那么他的机器数就是101001,他的真值就是:第一位符号位转换1转换成-,后面的01001就是真值,转换为十进制就是-41。

原码

原码=(符号位+真值)的绝对值

例如这两串二进制10000001和00000001,原码就是[-1]和[+1],最高位是符号位,他们各自转换成十进制就是+1和-1。

反码

反码分成两种:正数的反码和负数的反码

正数的反码就是它本身;负数的反码就是符号位不变,将0和1反过来例如原码[-65],二进制11000001的反码就是[-62],二进制10111110

补码

和反码类似,正数的补码就是自身,负数的补码就是在进行反码操作后+1,例如原码[-33],二进制11000011的补码就是[-61],二进制10111101

移码

不论真负数,移码就是在原码的基础上将符号位取反。

http://www.dtcms.com/a/60934.html

相关文章:

  • 【亲测可行】rk3588交叉编译opencv-4.5.1,ffmpeg-4.2.9,x264
  • Hugging Face的Transformers核心模块:Pipelines(参数说明,各种模型类型调用案例)
  • TypeScript基础类型详解:与JavaScript的对比与核心价值
  • 【Android】03-Android 开发机器配置要求
  • 【day12】进程切换与调度:linux系统的幕后操控术
  • 项目实操分享:一个基于 Flask 的音乐生成系统,能够根据用户指定的参数自动生成 MIDI 音乐并转换为音频文件
  • 可视化绘图技巧100篇进阶篇(十八)-鸡冠花图
  • 18 HarmonyOS NEXT UVList组件开发指南(五)
  • AI+办公 Task1
  • `bitsandbytes` 是什么? 有支持 CPU 的版本吗
  • NVIDIA k8s-device-plugin源码分析与安装部署
  • 数学 二次函数
  • 人工智能技术篇*卷(一)
  • 从0开始的操作系统手搓教程33:挂载我们的文件系统
  • boost::beast websocket 实例
  • 音频进阶学习十九——逆系统(简单进行回声消除)
  • MySQL高频八股—— MySQL的存储引擎及索引结构
  • 【深入解析 epoll 的底层实现原理】
  • Java高频面试之集合-08
  • STM32上跑SimpleFOC,电流环、速度环、位置环、棘轮软硬件全开源
  • WPF在特定领域的应用:打造一款专业的图像编辑工具
  • 检索增强生成(RAG)、微调(Fine-tuning)与知识蒸馏(Knowledge Distillation):核心差异与技术选型指南
  • 管理网络安全
  • python collections库速查
  • 订单回款自动化,实现高效运营
  • git常用操作
  • 重磅推出四合一镜像站,免废使用
  • 人形机器人---越来越像人了
  • C++ String类
  • 华为机试牛客刷题之HJ14 字符串排序