【C语言】十进制(正负)与二进制(正负)互相转换的方法技巧:短除法、取反、按位乘……

这篇具有很好参考价值的文章主要介绍了【C语言】十进制(正负)与二进制(正负)互相转换的方法技巧:短除法、取反、按位乘……。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导读:二进制数最高位为符号位,0表示正数、1表示负数


十进制 转 二进制

1、正数:短除法,然后将所有0、1从上到下连起来从右至左摆放,不够八位数的左边补0

【例】将十进制数60、13转为二进制:

2 | 60 ‾ \underline{\text{60}} 60                              2 | 13 ‾ \underline{\text{13}} 13
 2 | 30 ‾ \underline{\text{30}} 30 ······ 0                   2 | 6 ‾ \underline{\text{6}} 6 ······ 1
  2 | 15 ‾ \underline{\text{15}} 15 ······ 0                   2 | 3 ‾ \underline{\text{3}} 3 ······ 0
   2 | 7 ‾ \underline{\text{7}} 7 ······ 1                        1 ······ 1
    2 | 3 ‾ \underline{\text{3}} 3 ······ 1
        1 ······ 1
      00111100                     00001101

2、负数:绝对值转换为二进制,然后取反再加1

【例】将十进制数-60转为二进制:

   60 —→ 00111100 → 11000011 —→ 11000100
绝对值      60二进制      按位取反   +1   -60二进制


二进制 转 十进制

1、正数:从右至左每个数字依次乘以 2 n − 1 2^{n-1} 2n1,将乘积相加

【例】将二进制数00001101转为十进制:

0      0      0     0      1      1      0     1
x 2 7 2^7 27  x 2 6 2^6 26  x 2 5 2^5 25  x 2 4 2^4 24  x 2 3 2^3 23  x 2 2 2^2 22  x 2 1 2^1 21  x 2 0 2^0 20
—————————————————
0  +  0  +  0  +  0  +  8  +  4  +  0  +  1  = 13

2、负数:按位取反再加1,然后转为十进制,最后添上负号

【例】将二进制数11000100转为十进制:

 11000100 → 00111011 ——→ 00111100 ———→ 60 ———→ -60
二进制负数     按位取反    +1   绝对值二进制   绝对值十进制   十进制负数文章来源地址https://www.toymoban.com/news/detail-409313.html

到了这里,关于【C语言】十进制(正负)与二进制(正负)互相转换的方法技巧:短除法、取反、按位乘……的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python十进制转二进制方法详解

      在 Python中,十进制数可以转换成二进制数。例如: 但是,十进制数不是直接转换成二进制,而是先转换成二进制数,再转换成十进制。接下来我们来看看具体的实现方法: 首先我们来看一个例子: 上面代码中,使用了循环遍历的方法。从这个例子中我们可以发现,需要遍

    2023年04月19日
    浏览(111)
  • 【Python 千题 —— 基础篇】进制转换:十进制转二进制

    题目描述 计算机底层原理中常使用二进制来表示相关机器码,学会将十进制数转换成二进制数是一个非常重要的技能。现在编写一个程序,输入一个十进制数,将其转换成二进制数。 输入描述 输入一个十进制数。 输出描述 程序将输入的十进制数转换为二进制数,并输出其

    2024年02月07日
    浏览(81)
  • C++十进制与二进制之间的转换

    一般采用\\\"除2取余,逆序排列\\\"法: 也就是将一个十进制数不断除2,将每次得到的余数倒序从后向前排列。 拿求救信号6举个例子: 6/2=3……0  末位就是0 3/2=1……1   前一位就是1 1/2=0……1  再前一位就是1 再画个图辅助理解,这回试试100: 所以100的二进制表达就是1100100 那用

    2024年02月08日
    浏览(50)
  • 二进制与十进制的转换【相互转换, C++】

    二进制转十进制: 以字符串的形式读入二进制串。 获得该字符串的位数,即二进制的最高位是多少。 从左往右遍历 == 从高位往低位展开! 核心:按权展开,按位相加。 代码: 十进制转换为二进制: 思路: 十进制转化为 x x x 进制采用的是除 x x x 取余法(从下往上取余数

    2024年02月12日
    浏览(63)
  • 【进制转换】— 包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细

    目录 1.进制转换必备知识:         1.1 二进制逢2进1         8进制逢8进1           10进制逢10进1        16进制逢16进1         1.2为了区分二、八、十、十六进制,我们通常在数字后面加字母进行区分 2. 二进制与八进制、十六进制相互转换         2.1 二进制转

    2024年02月05日
    浏览(306)
  • 进制转换—包含整数和小数部分转换(二进制、八进制、十进制、十六进制)手写版,超详细

    目录 1.进制转换必备知识:         1.1 二进制逢2进1         8进制逢8进1           10进制逢10进1        16进制逢16进1         1.2为了区分二、八、十、十六进制,我们通常在数字后面加字母进行区分 2. 二进制与八进制、十六进制相互转换         2.1 二进制转

    2023年04月23日
    浏览(98)
  • 【verilog】用七段数码管显示二进制编码的十进制数

    用七段数码管显示0~9,输入为四个信号,这四位二进制数表示十进制的0~9 图1 逻辑电路与七段显示器 图2 真值表 根据卡诺图,得出a~g的逻辑表达式: 硬件描述语言: 图4 代码编译成功 图5 电路图 图6 仿真波形 表1 端口管脚分配表 端口 使用模块信号 对应FPGA管脚 功能说明

    2023年04月25日
    浏览(58)
  • 数据结构:使用顺序栈的基本操作,实现十进制转为二进制,十六进制的转换

    使用系统环境: 1:win10,使用工具dev 2:使用系统win10 3:参考书籍数据结构(C语言版——严蔚敏 吴伟民) ( 注意:此文章默认,学习者拥有一定的数据机构栈,C语言的知识,书籍第20页,2.1算法的代码进行一个简化。)

    2024年02月05日
    浏览(66)
  • MATLAB练习题:编写程序将十进制正整数转换为对应的二进制字符向量

     讲解视频:可以在bilibili搜索“MATLAB教程新手入门篇——数学建模清风主讲”。 MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili  编写程序将十进制正整数转换为对应的二进制字符向量。例如6对应的二进制字符向量为\\\'110\\\', 38对应的二进制字

    2024年02月02日
    浏览(52)
  • IP地址基础:IP十进制与二进制转换、IP地址分类、子网掩码、子网划分

    目录 1、IP十进制与二进制转换 2、IP地址分类 3、子网掩码 4、子网划分 在网络中,通信节点需要有一个IP地址。 以点分十进制标识,由32位二进制组成。每8位为一小组,IP地址由4小组组成。 小组的第几位 8 7 6 5 4 3 2 1 二进制 0 0 0 0 0 0 0

    2024年02月04日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包