1.First
10进制转换成2进制可能是大家学习语言的入门点,由于UP年少无知,刚开始的时候好像是第一篇自己写的BOKE还是用手机写的,有一些格式没有清除,不方便与大家观看,复制。
但是居然这是我BOKE里面阅读量最大的一篇,反思.JPG,阅读量居然有180+,都超越了硕哥的第一热门BOKE,窃喜.JPG。
时间:2018年11月21日20:57:52
于是乎,你们的傻BOKE UP准备重新写一下这篇BOKE,
各位关注一下,这个“日更”向气人UP吧,求求你们了,欧巴,思密达,欧尼酱,お兄ちゃん,Old Brother.
就这么多了。
讲一个小笑话,作为一个理工科学生,夸女生美,除了漂亮,我们也就只会( )。(见BOKE底部)
2.Code Print
1基本写法 C、C++环境都可运行
基本写法就是按照十进制转换二进制的方法写下来的,先取余,再除以2.....运算
#include<stdio.h>
int main(){
int b,n=0,i,m;
float j=0.1;
scanf("%d",&b);
while(b!=0){
m=b%2;
b=b/2;
j=j*10;
n+=m*j;
} printf("%d",n);
return 0;
}
基本写法结果图,分别输入0,整数,负数测试挺理想的。数据范围大约是Int型的范围
另外一种做法是数组做法
利用数组把每个余数依次存到数组里面,然后倒序输出这个数组。不过处理较大的负数比较无力,苦笑.JPG
#include<stdio.h>
int main(){
int b,i,c=0,a[30]={0};
scanf("%d",&b);
if(b == 0){
printf("0");
return 0;
} while(b!=0){
i=b%2;
a[c]=i;
c++;
b=b/2;
}
c--;//因为c代表存入数据的长度而下表范围是0~c-1
for(;c>=0;c--){//倒序输出即为这个数字对应的二进制
printf("%d",a[c]);
} return 0;
}
此方法来自本站某个博主,不过当时没有意识记录ID。
我帮他完善了,数组初始化和假设B == 0的情况。OVER。-987惨不忍睹
刚才检查一下数组法输入数据小于-32就危险了,如图。巴拉巴巴吧,@刘校妤 ,小鱼苏苏
https://baike.so.com/doc/10467102-10992451.html 刘校妤 - 女性配音演员360百科
(喊666了)
滑稽.JPG,笑哭中ing。