首页 > 其他分享 >二进制输出整数

二进制输出整数

时间:2024-04-15 14:13:31浏览次数:22  
标签:输出 arr 二进制 整数 int 循环 数组 余数

一个整数转成二进制,都明白是如果转换的,可以利用他的转换原理用代码表现出来。

例如7转换从二进制就是不断地除2,保留余数,一直到0:7除2,余数1 ,第二次,3除2,余数1,第三次,1除2,余1,最后是0,

那么7的二进制的表现形式就是1 1 1,

如果用代码表示的话,可以用循环来不断的除2,当然除二也是有条件的那就是被除数不能为0,当被除数为0是终止循环。

循环可以使用for循环,循环的次数,可以用一个计数器来表现一下(设计数器为te,每次满足条件能够除以1时,te也自动加一)。

for循环的样式:for(int i =0 ;i <=te;i++),当满足条件时,i和te同时自加一,当条件不满足时,只有i会自加,循环就会终止。

	int arr[32]={0};//使用数组来存放二进制数。
	int a,i,t=0;
	scanf("%d",&a);
	for(i=0;i<=t;i++){
		if(a!=0){
			arr[i]=a%2;
			a=a/2;
		t++;
		}
	}

 再将二进制录入数组中后,可以将数组反转输出,或者调换元素位置

#include<stdio.h>
int main(){
    int arr[32]={0};
    int a,i,t=0;
    scanf("%d",&a);
    for(i=0;i<=t;i++){
        if(a!=0){
            arr[i]=a%2;
            a=a/2;
        t++;
        }
    }
    for(i=0;i<t/2;i++){
        //printf("%2d",arr[i]);
        int te=arr[i];
        arr[i]=arr[t-1-i];
        arr[t-1-i]=te;
    }
        for(i=0;i<t;i++){
        printf("%2d",arr[i]);
    }
return 0;
}

我这里是将数组元素进行调换了,不过效果一样。

 

        for(i=t-1;i>=0;i--){
        printf("%2d",arr[i]);
    }

这个是将数组反转输出的。

标签:输出,arr,二进制,整数,int,循环,数组,余数
From: https://www.cnblogs.com/tkmi/p/18135825

相关文章

  • day01-03_我的Java学习笔记(Java基础语法--注释、字面量、变量、二进制、ASCII编码、
    1.Java基础语法1.1注释1.2字面量(Python中叫数据类型)1.3变量1.3.1变量的定义及使用1.3.2变量使用注意事项1.4数据的存储形式:二进制字节、字、bit、byte的关系:字word字节byte位bit,来自英文bit,音译为“比特”,表示二进制位。字长是指字的......
  • 人形机器人进行步态控制时的输入与输出数据是哪些?
    人形机器人是这两年的新生事物,传统的搞机器人的和传统的搞算法的以前是不太相关的,而自从有了这个人形机器人,这两个方向的研究人员就变成了协同工作了。搞传统机器人的不知道搞AI的需要哪些输入和输出数据,而搞AI的也不知道那些搞传统机器人的需要哪些输入和输出数据,所以这两方面的......
  • Mac终端GO输出字体颜色美化
    Mac终端Go输出字体颜色、样式美化Go语言模块:mactsGithub:https://github.com/lraiu/macts0x01简介macts意为MacOSTerminalStyle可以通过此模块,实现在mac系统终端上,美化程序文字输出包括:文字颜色:黑色(Black)、红色(Red)、绿色(Green)、黄色(Yellow)、蓝色(Blue)、......
  • 一串数字不输出末尾空格
    题目中通常要求输出的n个数字,两个数字之间用一个空格分隔,开头结尾没有空格。如果直接printf("%d",n)的话,则会在末尾多出一个空格,本文讲述几种不留空格的方式和一个误区。不留空格的方式方法一:数列长度不确定的情况。设置标记,输出第一个数的时候后边不带空格,输出2~n个数......
  • vscode使用gdb插件调试二进制文件
    使用vscode访问虚拟机里面的代码。代码是在虚拟机的xshell编译的(必须的debug模式)。现在可以通过在vscode下面安装gdb插件。然后就可以在vscode下面使用gdb来启动这个二进制文件了,还可以在vscode里面,在函数上面打断点。 在vscode左侧栏,点击debug,可以创建launch.json文件。......
  • 2024-04-13:用go语言,给定一个整数数组 `nums`, 请编写一个函数,返回一个新的数组 `counts
    2024-04-13:用go语言,给定一个整数数组nums,请编写一个函数,返回一个新的数组counts。满足以下条件:对于每个nums[i],counts[i]表示在nums[i]右侧且比nums[i]小的元素数量。输入:nums=[5,2,6,1]。输出:[2,1,1,0]。答案2024-04-13:来自左程云。灵捷3.5大体过程如下:给定......
  • [Java SE] 经典问题:超出Java Long型(8字节/64位)的二进制比特流数据如何进行大数的数
    0问题描述经典问题:超出JavaLong型(8字节/64位)的二进制比特流数据如何进行大数的数值计算?近期工作上遇到了这个问题:需要将一个无符号数、且位长>=8字节(等于8字节时,首位bit为1,其他bit不全为0)的二进制字符串转为Java****对象(原始整数),进行整型运算、或浮点数运算浮点运算......
  • 控制台输入输出1
    #include<bits/stdc++.h>#include<windows.h>#include<conio.h>//控制台输入输出头文件usingnamespacestd;intmain(){ HANDLEhandle=GetStdHandle(STD_OUTPUT_HANDLE); //HANDLEhandle=GetStdHandle(STD_OUTPUT_HANDLE);//获取标准输出的句柄 COORDcoord={0,......
  • 控制台输入输出
    #include<bits/stdc++.h>#include<windows.h>#include<conio.h>//控制台输入输出头文件usingnamespacestd;intmain(){ HANDLEhandle=GetStdHandle(STD_OUTPUT_HANDLE);//获取标准输出的句柄 COORDcoord={0,0};//保存光标坐标 SetConsoleCursorPosition(handle,c......
  • 控制台输入输出
    单人#include<iostream>#include<windows.h>#include<conio.h>//控制台输入输出头文件usingnamespacestd;intmain(){ HANDLEhandle=GetStdHandle(STD_OUTPUT_HANDLE);//获取标准输出的句柄 COORDcoord={0,0};//保存光标坐标 SetConsoleCursorPosition(handle,coor......