正数十进制转换二进制的方法:

将该数字不断除以2直到商为零,然后将余数由下至上依次写出,即可得到该数字的二进制表示

以20转二进制为例:

#include <stdio.h>void transfer(int x)
{char    buf[32];int     i=0;/*循环除2,把余数存储在数组中*/while( (x/2)!=0 ){buf[i] = x%2;x = x/2;i++;}buf[i] = x%2;/*循环遍历数组,从后往前打印余数*/for(int j=i; j>=0 ;j--){printf("%d",buf[j]);}printf("\n");
}int main(void)
{int x;while(1){printf("请输入一个10进制数:");scanf("%d",&x);/*若输入的数小于0,退出循环,程序结束*/if(x<0)break;printf("%d的二进制是:",x);transfer(x);printf("\n");}printf("退出程序\n");return 0;
}

负数十进制转换二进制的方法:

换成二进制后(带符号位),取反,加1

以int型(4个字节)的-5为例子:

5 的原码: 00000000 00000000 00000000 00000101

-5 的原码:10000000 00000000 00000000 00000101

-5 的反码:11111111 11111111 11111111 11111010(符号位不变)

-5 的补码:11111111 11111111 11111111 11111010

+                                                         1

=11111111 11111111 11111111 11111011

因此,-5 二进制为:11111111 11111111 11111111 11111011

转换为十六进制为:0xFFFFFFFB

C语言十进制转换二进制相关推荐

  1. c语言位运算八进制转二进制,C语言十进制转换二进制八,十六进制。二进制转十进制。...

    C语言十进制转换二进制八,十六进制. 十进制转二进制有个计算公式,就是除以2取余再倒序显示余数就是了.可以根据公式写.八制进公式也同理.十六进制有点不一样,大于9的要转为字母.A,B,C,D,E,F. ...

  2. 十进制转换成十六进制c语言 链栈,C语言 链栈 实现十进制转换二进制,八进制,十六进制...

    C语言 链栈 实现十进制转换二进制,八进制,十六进制 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 最后运行结果:代码:#incl ...

  3. C语言十进制转换成二进制源码

    把开发过程比较重要的一些内容备份一次,下边资料是关于C语言十进制转换成二进制的内容,应该对各位朋友有一些用. #include int main() { int num; std::cout < ...

  4. c语言十进制转十三进制,【05-13|教程】发个手动算十进制转换二进制和二进制转换十进制的教...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天上单片机自己琢磨的――,也许对有些人有用,大神别喷. 首先是二进制转换十进制.大家知道所有的二进制10 101 1100 不管怎么变化它都是1开头的, ...

  5. C语言 十进制和二进制相互转换 - C语言零基础入门教程

    目录 一.十进制和二进制区别 1.基数不同 2.有效字符不同 3.用途不同 二.十进制转二进制 三.二进制转十进制 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >& ...

  6. 十进制转换二进制(原码)

    十进制转换二进制(原码) 收藏   计算机是采用二进制存储的,计算机的二进制编码方式也分为原码,反码,补码方法.这是一个把十进制数字转换到它的二进制原码的算法,希望能给大家一些启发吧!这个算法我是用V ...

  7. 用‘栈’的思想编写一个十进制转换二进制、八进制或十六进制的程序

    用'栈'的思想编写一个十进制转换二进制.八进制或十六进制的程序 根据进制转换方法,如十进制向二进制转换,将转换的十进制整数除以二进制基数(2),得到余数和商,如果商不为0,该商继续做被除数,除以基数, ...

  8. bash 将二进制转换为十进制_用‘栈的思想编写一个十进制转换二进制、八进制或十六进制的程序...

    用'栈'的思想编写一个十进制转换二进制.八进制或十六进制的程序 根据进制转换方法,如十进制向二进制转换,将转换的十进制整数除以二进制基数(2),得到余数和商,如果商不为0,该商继续做被除数,除以基数, ...

  9. 定义并调用函数 十进制转二进制_用‘栈的思想编写一个十进制转换二进制、八进制或十六进制的程序...

    用'栈'的思想编写一个十进制转换二进制.八进制或十六进制的程序 根据进制转换方法,如十进制向二进制转换,将转换的十进制整数除以二进制基数(2),得到余数和商,如果商不为0,该商继续做被除数,除以基数, ...

  10. 6-7 十进制转换二进制(15 分)

    6-7 十进制转换二进制(15 分) 本题要求实现一个函数,将正整数n转换为二进制后输出. 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的 ...

最新文章

  1. java calendar去掉时分秒_java 8:只取年月日的java.util.Date(时分秒清零)对象
  2. 简陋的会计凭证金额输入控件
  3. 为WPF和Silverlight的Grid添加边框线
  4. python变量名要求_Python中用中文变量名、函数名,会影响性能吗?
  5. C++|STL学习笔记-map的基本操作(插入,删除,遍历,大到小输出)【仿大佬写法】
  6. TypeScript Never 与 Unknown
  7. iPhone 12系列电池容量曝光:不仅没增加竟还在缩水
  8. oracle里面如何查询sqlid,Oracle SQL查询:如何使用count
  9. layui 自动渲染_Layui表格自动渲染
  10. 学习python:异常处理
  11. python调试利器pysnooper实践使用分析
  12. gf(2 4)有限域的乘法c语言实现,有限域GF(2^n)的C语言实现浅析
  13. Ubuntu环境下读取罗技G29方向盘信息
  14. 网络爬虫法即将出台!!!小爬怡情,大爬over
  15. uchome的安装记录
  16. Nessus访问报错(Corrupt Database A corrupt database has been detected which prevents Nessus from........)
  17. 白底图片转换为蓝底图片
  18. c51单片机时钟c语言程序设计,51单片机C编程(六、定时器时钟显示时分秒)
  19. 在github上部署静态页面
  20. Fortran矩阵运算

热门文章

  1. Go黑魔法之导出API供C调用
  2. java鼠标变粗怎么办_java – 使用Apache POI使整行变粗
  3. windows下USB检测插拔状态
  4. vs调试时查看指针指向的内存区域的内容
  5. 一键搞定JavaEE应用,JRE+Tomcat+Mysql-JaveEE绿色运行环境JTM0.9版 (转载)
  6. 开源表单系统推荐:TDUCK填鸭表单
  7. 交叉火力dsp手机调音软件_万能dsp调音软件
  8. 离散数学:等价关系与集合覆盖
  9. 网络协议之ONVIF
  10. html动态留言墙代码,JavaScript实现动态留言板