直接进入正题,介绍下相关的几个概念,学计算机的都应该知道,

1.机器码:就是二进制数。

2.无符号数:不考虑正负号的机器数。

3.有符号数:考虑正负号的机器数。 注:有符号数通常规定最高位为符号位,并用0表示正,用1表示的是负余下的就是数值

下面介绍下机器码中的原码,反码,补码。

1.原码:

定义机器数本身就是源码表示法,例如:经典的例子(125),原码表示为

01111101,这里最高位是符号位。

2.反码:正数的反码就是原码,负数的反码就是将符号位以外的各位取反,得到例如:(125)原 = (125)反 =

01111101,(-125)原 = 11111101,(-125)反 = 10000010.

3.补码:正数的补码还是它的原码,负数的补码是将它的反码的末位加1,例:(125)补 = (125)原 =

01111101,(-125)原 = 11111101,(-125)反 =

10000010,(-125) = 1000011

总结上面的:正数的原码,反码,补码都相同。负数中反码除符号外取反,补码在反码末位加1即可。

下面来讲解今天遇到的问题:

《十进制负数转化成八进制和十六进制》

以网上提供 -167转换为例子,笔者在换算的时候出现了各种各样的情况,不过是第一次计算也是正常的,

先把-617用补码表示,然后再转换成八进制和十六进制(补码),下面的是网上摘下的记录:

二进制转为 8

进制,用 3 位二进制位编为一组(不够左侧补 0),然后从右边开始每三位按如下方式替换:

000 - 0, 001 - 1, 010 - 2, 011 - 3,

100 - 4, 101 - 5, 110 - 6, 111 - 7.

二进制转为16进制,用4位二进制位编为一组(不够左侧补0),然后从右边开始每四位按下方式替换

0000 - 0, 0001 - 1, 0010 - 2, 0011 - 3

0100 - 4, 0101 - 5, 0110 - 6, 0111 - 7

1000 - 8, 1001 - 9, 1010 - A, 1011 - B

1100 - C, 1101 - D, 1110 - E, 1111 - F

Turbo

C中整数是16位的,617的二进制是00000010 01101001,取反加1得到-617的补码为11111101

10010111,每3位转成1个八进制数

1111110110010111 --二进制

1 7 6 6 2 7 --八进制

c语言源码补码机器码的定义,机器码的基本概念和几种进制的转换问题相关推荐

  1. 16进制换成10进制 c语言 单片机,单片机入门之三种进制的转换

    单片机使用的两大进制表示形式:十进制和十六进制. (这里使用十进制的数据) (这里使用十六进制的数据) 十进制一般用于运算,表示形式就是直接写,例如上面的1701. 十六进制一般用于配置单片机的寄存器 ...

  2. 【安全算法之SHA1】SHA1摘要运算的C语言源码实现

    [安全算法之SHA1]SHA1摘要运算的C语言源码实现 概述 头文件定义 C语言版本的实现源码 测试用例 github仓库 更多参考链接 概述 大家都知道摘要算法在安全领域,也是一个特别重要的存在,而 ...

  3. C语言项目源码,C语言源码大全

    一.C语言源码大全 C语言是一门通用计算机编程语言,广泛应用于底层开发.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.尽管 ...

  4. 【安全算法之DES】DES算法(支持ECB/CBC模式)的C语言源码实现

    [安全算法之DES]DES算法(支持ECB/CBC模式)的C语言源码实现 概述 头文件定义 C语言版本的实现源码 数据分组模式:ECB模式和CBC模式 测试用例 github仓库 更多参考链接 概述 ...

  5. c语言原码 补码 反码,C语言 原码--反码--补码

    //原码,反码,补码 #include #include //数值的表示方法--原码.反码和补码 //原码:最高位为符号位,其余各位为数值本身的绝对值 //反码: //正数:反码与原码相同 //负数: ...

  6. 【安全算法之SHA512】SHA512摘要运算的C语言源码实现

    [安全算法之SHA512]SHA512摘要运算的C语言源码实现 概述 头文件定义 C语言版本的实现源码 测试用例 github仓库 更多参考链接 概述 大家都知道摘要算法在安全领域,也是一个特别重要的 ...

  7. Go语言源码分析CAS的实现和Java如出一辙

    看了Go的源码CAS这块实现和java还是类似的. 关于Java的分析参考:Java使用字节码和汇编语言同步分析volatile,synchronized的底层实现 都是使用汇编指令:LOCK+CMP ...

  8. golang中文文档_【译】Go 语言源码贡献官方指导文档

    以前给 Go 语言项目源码提交过一些 commits,期间阅读他们的官方指导文档的时候觉得这篇指导文档可以作为绝佳的关于大型软件项目的规范管理的参考,因为最近又提交了几个 commits,就又把这篇文 ...

  9. 易语言php支付宝,支付宝填表登录易语言源码

    支付宝填表登录易语言源码 @MS_晨星天宇.版本 2 .支持库 spec .支持库 HtmlView .程序集 窗口程序集_窗口1 .子程序 _按钮1_被单击 调试输出 (开始登录 (超文本浏览框1, ...

最新文章

  1. web服务器错误配置文件,web服务器http配置文件
  2. Linux10-归档、系统间复制文件
  3. 利用openssh实现chroot监牢
  4. plsql developer 10注册码----亲测截止2017年5月6可用
  5. App开发流程之右滑返回手势功能续
  6. 机器学习算法平台alink_机器学习-逻辑回归算法
  7. 无缝世界网游服务器架构的设计思路
  8. caffemodel中的参数及特征的抽取
  9. 杰理AD14N/AD15N---Timer定时器问题
  10. QUIC特性之连接迁移和队头阻塞消除
  11. 其实你不懂我的芯--SIM卡的前世今生
  12. elasticsearch6.5.4破解白金版xpack
  13. 字符串问题归类--C和C++
  14. 第八章 性能优化 之 内存优化(一)
  15. Rosalind Java| Counting Point Mutations
  16. pandas读取文件参数
  17. 死链提交为什么不能提交 html文件,手把手教你向百度站长平台提交XML和TXT死链文件...
  18. crontab 简明教程
  19. 【经验分享】设置电脑定时开关机
  20. 关于发布后网站调用本地exe的曲线救国之路

热门文章

  1. appium 多开_全面超越Appium,使用Airtest超快速开发App爬虫
  2. Rancher首席架构师解读Fleet:它何以管理百万集群?
  3. 前端怎么加粗字体_视频加文字怎么弄?强烈建议你花几分钟学一下
  4. i7 10700配什么主板
  5. [YTU](3273)吃鸡之团队合作 ---- BFS
  6. 机枪连射(宏)可调射速
  7. python软件下载安装教程,python详细安装教程视频
  8. 《Excel数据可视化:一样的数据不一样的图表》——第 1 章 整理图表背后杂乱无章的数据源 1.1 数据的提炼...
  9. Base64编码过程详解
  10. Java:Stream三部曲(一):函数式接口的理解与常用示例(Runnable、Comparator、Callable、Consumer、Predicate、Supplier、Function)