c语言程序10进制转2进制,C语言十进制数转换为二进制数

article/2025/9/25 0:28:03

这是一个C语言 do while 循环示例:统计十进制正整数 n 转换为二进制数后,其二进制序列中包含的 1 和 0 的个数。

问题分析

输入:一个正整数。

输出:两个整数:1 的个数和 0 的个数。

将十进制数 n 转换成二进制数,一般采用“除 2 取余,倒序输出”的方法。

本题只是统计转换成的二进制数中 1 和 0 的个数,因而只要在“除 2 取余”的过程中不断判断并累计 1 和 0 的个数即可(见图 1)。

61927244a1948dd90b44df454bc86494.gif

图 1:循环执行“除 2 取余”统计 1 和 0 的个数

算法描述

f839d5b8b18e931550feaf87dc83c740.gif

代码清单 1:统计十进制正整数 n 转换为二进制数后,其中包含的 1 和 0 的个数

#include

#include

int main( )

{

int n,s1=0,s0=0;

printf("输入一个正整数:\n");

scanf("%d",&n);

do

<

http://chatgpt.dhexx.cn/article/iGGrgRyt.shtml

相关文章

二进制转十进制c++语言数组,C++实现读入二进制数并转换为十进制输出

C++实现读入二进制数并转换为十进制输出 题目描述 已知一个只包含0和1的二进制数,长度不大于10,将其转换为十进制并输出。 输入描述 输入一个二进制整数n,其长度不大于10 输出描述 输出转换后的十进制数,占一行 样例输入 110 样例输出 6 solution: 很多学过C初学C++的人可…

二进制数的加法步骤解析

文章目录 位运算二进制数加法步骤例子代码演示 二进制的加法需要用到位运算&#xff0c;所以先来复习下位运算。 位运算 运算符号(java)描述位与&都为1&#xff0c;结果为1&#xff0c;否则为0。位或|有一个为1或两个位都为1&#xff0c;则结果为1&#xff0c;否则为0。换…

二进制数及其运算

计算机的底层都是使用二进制数据进行数据流传输的&#xff0c;那么为什么会使用二进制表示计算机呢&#xff1f;什么是二进制数呢&#xff1f;如何使用二进制进行加减乘除&#xff1f;二进制数如何表示负数呢&#xff1f;本文将为你揭晓。 为什么用二进制表示 计算机内部是由I…

二进制数的运算

文章目录 前言一、加法运算规则二、减法运算规则三、乘法运算规则四、除法运算规则五、逻辑或运算规则六、逻辑与运算规则七、逻辑非运算规则八、逻辑异或运算规则 前言 此篇文章仅介绍二进制数的运算&#xff0c;不涉及其他进制的运算 一、加法运算规则 000 011 101 110 &…

什么是二进制数?二进制数是如何表示计算机信息的?

二进制是什么&#xff1f; 想要了解二进制数是如何表示计算机信息的&#xff1f;先要追本溯源&#xff0c; 二进制&#xff08;binary&#xff09;在数学和数字电路中指以2为基数的记数系统&#xff0c;以2为基数代表系统是二进位制的。这一系统中&#xff0c;通常用两个不同的…

二进制

博客引用处&#xff08;以下内容在原有博客基础上进行补充或更改&#xff0c;谢谢这些大牛的博客指导&#xff09;&#xff1a; 二进制 二进制和十进制间小数怎么转换 二进制进位 前言&#xff1a; 二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的…

二进制(bit)整数

计算机以电子电荷集合的形式在内存中保存指令和数据。用数字来表示这些内容就需要系统能够适应开 / 关(on/off)或真 / 假(true/false)的概念。 二进制数(binary number)用 2 个数字作基础,其中每一个二进制数字(称为位,bit)不是 0 就是 1。 位自右向左,从 0 开始顺…

计算机基础(一):二进制详解

二进制 我们都知道&#xff0c;计算机的底层都是使用二进制数据进行数据流传输的&#xff0c;那么为什么会使用二进制表示计算机呢&#xff1f;或者说&#xff0c;什么是二进制数呢&#xff1f;在拓展一步&#xff0c;如何使用二进制进行加减乘除&#xff1f;二进制数如何表示…

图论学习笔记——可达矩阵

设有向图D &#xff08;V,E&#xff09;,顶点集V {v1&#xff0c;v2&#xff0c;&#xff0c;vn}。 定义矩阵 为&#xff08;当vi到vj不可达时&#xff0c;p为0&#xff1b;当vi到vj可达时p为1.&#xff09; 称矩阵P是图D的可达矩阵 一般地&#xff0c;设n阶有向图D的邻接…

传递闭包和可达矩阵的关系?

今天的这篇博客让我沉思了好久~~~ 传递闭包矩阵的定义如下所示&#xff1a; 可达矩阵的定义如下图所示&#xff1a; 通过以上两个图片可以看出这两个定义有所区别&#xff0c;这篇博客所讲解的就是传递闭包和可达矩阵的关系&#xff1f;这是为什么呢&#xff1f;传递闭包定义为…

用java不带权有向图求可达矩阵_ISM算法(邻接矩阵求可达矩阵)Java实现

图如下: package com;public class Main {public static void main(String[] args) {// 邻接矩阵int adjacency[][] { { 0, 0, 0, 0, 0 }, { 0, 0, 1, 1, 0 }, { 1, 0, 0, 1, 0 }, { 0, 0, 1, 0, 1 },{ 1, 0, 0, 0, 0 } };// 可达矩阵int reachability[][] null;System.out.p…

【有限马尔科夫链状态分解+Kosaraju 算法】基于Kosaraju 算法和可达矩阵的有限马尔科夫链状态分解

有限马尔科夫链状态分解Kosaraju 算法 1 实验内容2 理论基础3 题目分析4 按常返性和互通性对状态空间进行分解算法流程4.1 强连通性和强连通分量4.2 基于有向图 Kosaraju 算法的有限马尔科夫链状态分解4.3 算法正确性证明4.4 算法复杂度分析 5 按周期对不可约闭集进行分解6 对例…

R 语言 | 计算可达矩阵

在微博有位朋友问我可达矩阵的计算&#xff0c;于是发了点时间用R语言写出来了。 问题如下&#xff1a; 计算过程&#xff1a; 注意&#xff1a;是矩阵的乘法。 代码如下&#xff1a; A <- matrix(c(0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0),nrow5) A1 …

一种使用Python计算可达矩阵的简单方法

在进行编码前要简单介绍几个知识点&#xff1a;有向图&#xff0c;邻接矩阵&#xff0c;可达矩阵 有向图、邻接矩阵、可达矩阵 有向图 现实中常常会表示从一个地点到另一个地点的路径&#xff0c;这样的带有从起点到终点的路线表示可以用有向图表示。如下图所示&#xff1a;…

系统工程利用python求解可达矩阵

系统工程中利用python求解可达矩阵 在系统工程书中&#xff0c;建立解释结构模型中求解可达矩阵是必不可少的一环故利用python写了一段求解可达矩阵的代码&#xff0c;只需要输入邻接矩阵便可计算得到可达矩阵代码如下&#xff1a; import numpy as npdef change(a): 乘以自身…

通过有向图的可达矩阵判断有向图的连通类型

我们根据有向图的连通情况&#xff0c;可以将图分成四种类型 非连通图弱连通图单向连通图强连通图 我们可以通过邻接矩阵A&#xff0c;计算可达矩阵B&#xff0c;然后经过二值化之后得到可达性矩阵P来判断该图属于以上哪一种。 如果P中元素都为1&#xff0c;说明任意两点之间…

【算法导论】有向图的可达矩阵

有时候&#xff0c;我们关注的不是从一个地点到另一个地点的费用&#xff0c;而是能否从一个顶点到达另一个顶点。因此我们可以假设所有边的权值为单位1&#xff0c;在下面的算法中&#xff0c;我们可以在O(n*n*n)的时间内计算出图中任意两点是否可达&#xff0c;我用可达矩阵来…

图论总复习

《图论及其应用》 主要考试知识点&#xff1a; 第2章&#xff0c;第 3章&#xff0c;第5 章&#xff0c;第 6章&#xff0c;章节占比&#xff1a;20%&#xff0c;25%&#xff0c;30%&#xff0c;25%。 **第2章&#xff1a;**图的定义、度的概念、握手定理、可图画、同构、子…

图的邻接矩阵求图的出度,入度,可达矩阵,判断强连通,弱连通,单向连通(C++,vs2017)

一、介绍概念 1、邻接矩阵 将一个n个节点的图&#xff0c;转化成一个n*n的矩阵G&#xff0c;G[i][j]表示第i个节点到第j个节点的的权重。 对于上图邻接矩阵为&#xff1a; 2、度 度分为入度和出度&#xff1a;某个节点的入度就是可以通过一条边到达这个节点的节点个数&#xff…