C语言十进制转二、八、十六进制
#include <stdio.h>
#include <math.h>
void D_O(int n);
void D_H(int n);
void D_B(int n);
void main()
{
int x,n;
while (1)
{
printf("选择进制转换:\n1.D-B 2.D-O 3.D-H\n");
scanf_s("%d", &x);
printf("输入十进制数:\n");
scanf_s("%d", &n);
switch (x)//转换进制选择
{
case 1:D_B(n); break;
case 2:D_O(n); break;
case 3:D_H(n); break;
}
}
}
void D_B(int n)
{
double o = 0;
int x = 0;
while (n)
{
o = o / 10 + n % 2;//除以8取余数并且加上前一位的小数
n = n / 2;
x += 1;
}
x--;
o = o * pow(10, x);//乘以前面的运算次数来变成整数
n = o;
printf("二进制数:%d\n", n);
}
void D_O(int n)
{
double o = 0;
int x = 0;
while (n)
{
o = o / 10 + n % 8;//除以8取余数并且加上前一位的小数
n = n / 8;
x += 1;
}
x--;
o = o * pow(10, x);//乘以前面的运算次数来变成整数
n = o;
printf("八进制数:0%d\n", n);
}
void D_H(int n)
{
int x = -1;
int s[10] = { 0 };
while (n)
{
x++;
s[x] = n % 16;//余数保存在数组中方便十以后的数变换成字母
n = n / 16;
}
printf("十六进制数:0x");
x++;
while (x)
{
switch (s[x-1])//逆序取数组中的数,0-9不变,10-15变成对应的字母
{
case 0:;case 1:;case 2:;case 3:;
case 4:;case 5:;case 6:;case 7:;case 8:;
case 9:printf("%d", s[x - 1]); break;
case 10:printf("A"); break;
case 11:printf("B"); break;
case 12:printf("C"); break;
case 13:printf("D"); break;
case 14:printf("E"); break;
case 15:printf("F"); break;
}
x--;
}
printf("\n");
}
C语言十进制转二、八、十六进制的更多相关文章
- c# 十进制转二、八、十六进制
一.十进制转二.八.十.十六进制字符串 Convert.ToString(int decNum,int toBase); decNum为十进制字符串, toBase可以为2.8.10.16 如果要转换 ...
- 实验03——java十进制转二、八、十六进制;打印'中'的十六进制;进制转换的api
package cn.tedu.demo; /** * @author 赵瑞鑫 E-mail:1922250303@qq.com * @version 创建时间:2020年7月16日 上午10:22: ...
- Java语言基础(二)
Java语言基础(二) 一.变量续 (1).变量有明确的类型 (2).变量必须有声明,初始化以后才能使用 (3).变量有作用域,离开作用域后自动回收 变量作用域在块内有效 (4).在同一定义域中变量不 ...
- Go语言基础(二)
Go语言基础(二) 跟着上篇,继续看Go基础 一.变量作用域 与C类似,有全局变量.局部变量.形参之分 package main import "fmt" // 全局变量 var ...
- C语言第十二讲,文件操作.
C语言第十二讲,文件操作. 一丶文件操作概述 在操作系统中,我们的文档都称为文件.操作系统也为我们提供了接口进行操作.不同语言都是使用的相同的接口,只不过封装的上层接口不一样 操作文件的步骤 打开文件 ...
- Go语言十进制转二进制字符串
Go语言十进制转二进制字符串 代码Demo func Test_2(t *testing.T) { // 方法一 fmt.Println(DecToBin(5)) // 方法二:导入包"gi ...
- Java语言基础(二) Java关键字
Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...
- R语言语法基础二
R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...
- C语言高速入门系列(八)
C语言高速入门系列(八) C语言位运算与文件 本章引言: 在不知不觉中我们的C高速入门系列已经慢慢地接近尾声了,而在这一节中,我们会对 C语言中的位运算和文件进行解析,相信这两章对于一些人来说是陌生的 ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
随机推荐
- Unity的UnityStats: 属性详解与实用案例
UnityStats 属性详解 UnityStats 是 Unity 引擎提供的一个用于监测游戏性能的工具,它提供了一系列的属性值,可以帮助开发者解游戏的运行情况,从而进行优化.本文将详细介绍 Uni ...
- nflsoj 选数1 2 3
5711 取数-1 状态表示:1维 集合:前 \(i\) 个数里面所有的选法和 属性:所有的选法和的最大值 状态计算:选或不选 选:\(f(i-1)+a_i\) 不选:\(f(i-1)\) #incl ...
- HDU 3829 Cat VS Dog 猫和狗(二分图)结题报告
听学长说这道题很ex,但是思路想到的话还是挺简单的. 可能是受上一道题(放置机器人)的启发,也是找互相冲突的点连线. 但是并不是完全一样(废话)放置机器人那道题是找到冲突点连线后直接求最大匹配即可. ...
- 一个可将执行文件打包成Windows服务的.Net开源工具
Windows服务一种在后台持续运行的程序,它可以在系统启动时自动启动,并在后台执行特定的任务,例如监视文件系统.管理硬件设备.执行定时任务等. 今天推荐一个可将执行文件打包成Windows 服务的工 ...
- .NET Core基础到实战案例零碎学习笔记
前言:前段时间根据 [老张的哲学] 大佬讲解的视频做的笔记,讲的很不错.此文主要记录JWT/DI依赖注入/AOP面向切面编程/DTO/解决跨域等相关知识,还包含一些.NET Core项目实战的一些案例 ...
- React Native实现Toast轻提示和loading
React Native 封装Toast 前言 使用react native的小伙伴都知道,官方并未提供轻提示组件,只提供了ToastAndroid API,顾名思义,只能再安卓环境下使用,对于ios ...
- KMP字符串对比算法及next数组计算
(注:该贴主要运用python实现该算法) 先谈谈KMP算法吧.KMP算法的全称是Knuth-Morris-Pratt 算法,它是用来进行字符串查找,即在某个主字符串里面找到某个特定子字符串.但是好像 ...
- Springboot优雅参数校验,统一响应,异常处理
1.统一响应 (1)统一状态码 首先定义一个状态码接口,所有状态码都需要实现它 public interface StatusCode { public int getCode(); public S ...
- 2019-A
#include <iostream> #include <vector> using namespace std; class Mystack{ private: int t ...
- 我的 Windows 文件管理哲学
前言 作为一个不合格的 Geek,我经常面临把 Windows 弄崩溃的尴尬处境,我的系统因此重装了一遍又一遍--不过在一次次的重装中,我逐渐总结出了于我个人而言行之有效的文件管理哲学,在此略做总 ...