【算法】KY187 二进制数

https://www.nowcoder.com/ta/kaoyan
描述
大家都知道,数据在计算机里中存储是以二进制的形式存储的。 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。 你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。

输入描述:
多行,每一行表示要求的数字

输出描述:
输出共T行。每行输出求得的二进制串。

示例1
输入:
23
535
2624
56275
989835

输出:
10111
1000010111
101001000000
1101101111010011
11110001101010001011

#include<stdio.h> using namespace std; int main() { int n; while (scanf("%d",&n) != -1) { int res[100] = {0}; int flag = 0; // 23 的二进制是 10111 // 当n为1时说明已经计算到了最后 while (n>=1) { res[flag++] = n%2; n = n / 2; } // 逆序输出 int isOne = 0; for (int i=flag; i>=0; i--) { // 舍弃前导零,直达出现第一个1 然后就正式输出 if (res[i] == 0 && isOne == 0) { continue; } isOne = 1; printf("%d",res[i]); } printf("\n"); } return 0; }

__EOF__

本文作者lnnau
本文链接https://www.cnblogs.com/wlunan/p/18538000.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Lnnau  阅读(5)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示