C语言十进制转换二进制
正数十进制转换二进制的方法:
将该数字不断除以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语言十进制转换二进制相关推荐
- c语言位运算八进制转二进制,C语言十进制转换二进制八,十六进制。二进制转十进制。...
C语言十进制转换二进制八,十六进制. 十进制转二进制有个计算公式,就是除以2取余再倒序显示余数就是了.可以根据公式写.八制进公式也同理.十六进制有点不一样,大于9的要转为字母.A,B,C,D,E,F. ...
- 十进制转换成十六进制c语言 链栈,C语言 链栈 实现十进制转换二进制,八进制,十六进制...
C语言 链栈 实现十进制转换二进制,八进制,十六进制 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 最后运行结果:代码:#incl ...
- C语言十进制转换成二进制源码
把开发过程比较重要的一些内容备份一次,下边资料是关于C语言十进制转换成二进制的内容,应该对各位朋友有一些用. #include int main() { int num; std::cout < ...
- c语言十进制转十三进制,【05-13|教程】发个手动算十进制转换二进制和二进制转换十进制的教...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天上单片机自己琢磨的――,也许对有些人有用,大神别喷. 首先是二进制转换十进制.大家知道所有的二进制10 101 1100 不管怎么变化它都是1开头的, ...
- C语言 十进制和二进制相互转换 - C语言零基础入门教程
目录 一.十进制和二进制区别 1.基数不同 2.有效字符不同 3.用途不同 二.十进制转二进制 三.二进制转十进制 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >& ...
- 十进制转换二进制(原码)
十进制转换二进制(原码) 收藏 计算机是采用二进制存储的,计算机的二进制编码方式也分为原码,反码,补码方法.这是一个把十进制数字转换到它的二进制原码的算法,希望能给大家一些启发吧!这个算法我是用V ...
- 用‘栈’的思想编写一个十进制转换二进制、八进制或十六进制的程序
用'栈'的思想编写一个十进制转换二进制.八进制或十六进制的程序 根据进制转换方法,如十进制向二进制转换,将转换的十进制整数除以二进制基数(2),得到余数和商,如果商不为0,该商继续做被除数,除以基数, ...
- bash 将二进制转换为十进制_用‘栈的思想编写一个十进制转换二进制、八进制或十六进制的程序...
用'栈'的思想编写一个十进制转换二进制.八进制或十六进制的程序 根据进制转换方法,如十进制向二进制转换,将转换的十进制整数除以二进制基数(2),得到余数和商,如果商不为0,该商继续做被除数,除以基数, ...
- 定义并调用函数 十进制转二进制_用‘栈的思想编写一个十进制转换二进制、八进制或十六进制的程序...
用'栈'的思想编写一个十进制转换二进制.八进制或十六进制的程序 根据进制转换方法,如十进制向二进制转换,将转换的十进制整数除以二进制基数(2),得到余数和商,如果商不为0,该商继续做被除数,除以基数, ...
- 6-7 十进制转换二进制(15 分)
6-7 十进制转换二进制(15 分) 本题要求实现一个函数,将正整数n转换为二进制后输出. 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的 ...
最新文章
- java calendar去掉时分秒_java 8:只取年月日的java.util.Date(时分秒清零)对象
- 简陋的会计凭证金额输入控件
- 为WPF和Silverlight的Grid添加边框线
- python变量名要求_Python中用中文变量名、函数名,会影响性能吗?
- C++|STL学习笔记-map的基本操作(插入,删除,遍历,大到小输出)【仿大佬写法】
- TypeScript Never 与 Unknown
- iPhone 12系列电池容量曝光:不仅没增加竟还在缩水
- oracle里面如何查询sqlid,Oracle SQL查询:如何使用count
- layui 自动渲染_Layui表格自动渲染
- 学习python:异常处理
- python调试利器pysnooper实践使用分析
- gf(2 4)有限域的乘法c语言实现,有限域GF(2^n)的C语言实现浅析
- Ubuntu环境下读取罗技G29方向盘信息
- 网络爬虫法即将出台!!!小爬怡情,大爬over
- uchome的安装记录
- Nessus访问报错(Corrupt Database A corrupt database has been detected which prevents Nessus from........)
- 白底图片转换为蓝底图片
- c51单片机时钟c语言程序设计,51单片机C编程(六、定时器时钟显示时分秒)
- 在github上部署静态页面
- Fortran矩阵运算