十进制数转换为二进制数的两种方法
下面代码仅供本人复习所用,实用性N低,各位飘过吧~~哈哈:>
// // 十进制转二进制. // #include <cstdlib> #include <iostream> #include <vector> // // 使用 unsigned long long 类型数值来表示二进制数, // 由于这样表示的二进制数位数有限,顾输入参数为 unsigned short 类型. // unsigned long long toBinary(unsigned short decimal) { long long binary = 0; long long carry = 1; while (0 < decimal) { binary += decimal % 2 ? carry : 0; carry *= 10; decimal /= 2; } return binary; } // // 使用向量保存二进制数字符串. // void toBinary_vector(unsigned long decimal, std::vector< char > &binary) { while (0 < decimal) { binary.push_back(decimal % 2 + '0' ); decimal /= 2; } } // // 测试. // int main( void ) { std::cout << "Input decimal number: " ; unsigned short decimal; while (!(std::cin >> decimal)) { std::cin.sync(); std::cin.clear(); std::cout << "Input wrong, please input again: " ; } std::cout << "Binary: " << toBinary(decimal) << std::endl; std::vector< char > binary; toBinary_vector(decimal, binary); std::vector< char >::iterator beg = binary.begin(); std::vector< char >::iterator end = binary.end(); std::cout << "Binary: " ; while (beg != end--) { std::cout << *end; } std::cout << std::endl; return EXIT_SUCCESS; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?