• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C语言基础 原码、反码、补码和移码详解

C语言基础 原码、反码、补码和移码详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了原码反码补码移码,原码反码补码移码转换,原码移码,补码转原码 c语言,c语言中原码和补码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

 原码、反码、补码、移码的作用?

   在计算机内,机器数有无符号和带符号数之分。无符号数表示正数,在机器数中没有符号位。位于无符号数,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在机器数的最高位之前,则是纯小数。对于带符号数,机器数的最高位是表示正、负的符号位,其余位则表示数值。若约定小数点的位置在机器数的最低数值位之后,则是纯整数;若约定小数点的位置在机器数的最高数值位之前(符号位之后),则是纯小数。

   为了便于运算,带符号位的机器数可采用原码、反码和补码等不同的编码方法,机器数的这些编码方法称为码制。

   原码、反码、补码、移码如何表示?

   举例:[+45]原=00101101       -45=10101101 (以下所有例子都为这两个数的变换)

   原码:

   原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

   举例:[+45]原=00101101       [-45]原=10101101

   反码: 反码是数值存储的一种,但是由于补码更能有效表现数字在计算机中的形式,所以多数计算机一般都不采用反码表示数。

   反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

    举例:[+45]反=00101101       [-45]反=11010010

   补码:在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

   反码表示法规定:正数的补码与其原码相同;一种简单的方式,符号位保持1不变,数值位从右边数第一个1及其右边的0保持不变,左边按位取反。也可以从反码推补码,就是在反码的基础上加1。

   举例:[+45]补=00101101       [-45]补=11010011

   移码:

   移码(又叫增码)是符号位取反的补码,一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。这个不分正负。

   举例:[+45]移=10101101       [-45]移=01010011

   以上就是机器码的原码、反码、补码和移码的表示方法,其实这些表示方法都是为了让计算机的运算更加方便。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C语言基础 原码、反码、补码和移码详解

相关文章

  • 2017-05-28short与int转换的小例子
  • 2017-05-28如何给随机数加密
  • 2017-05-28C++统计中英文大小写字母、数字、空格及其他字符个数的方法
  • 2017-05-28浅谈C语言共用体和与结构体的区别
  • 2017-05-28c语言冒泡排序法代码
  • 2017-05-28结构体类型数据作为函数参数(三种方法)
  • 2017-05-28解析C++中多层派生时的构造函数及一些特殊形式
  • 2017-05-28关于双向链表的增删改查和排序的C++实现
  • 2017-05-28使用C语言打造通讯录管理系统和教学安排系统的代码示例
  • 2017-05-28用C语言模仿Python函数的一种简单实现方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C 二分查找 递归与非递归的实现代码
    • 先序遍历二叉树的递归实现与非递归实现深入解析
    • 举例讲解C语言程序中对二叉树数据结构的各种遍历方式
    • c++实现strcat字符串连接库函数的方法详解
    • 浅析C++中模板的那点事
    • 模拟实现C语言中的内存管理
    • Effective STL 18 avoid using vector<bool>
    • C++中replace()函数使用方法汇总
    • C++基于先序、中序遍历结果重建二叉树的方法
    • Objective-C的内省(Introspection)用法小结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有