#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语言十进制转二、八、十六进制的更多相关文章

  1. c# 十进制转二、八、十六进制

    一.十进制转二.八.十.十六进制字符串 Convert.ToString(int decNum,int toBase); decNum为十进制字符串, toBase可以为2.8.10.16 如果要转换 ...

  2. 实验03——java十进制转二、八、十六进制;打印'中'的十六进制;进制转换的api

    package cn.tedu.demo; /** * @author 赵瑞鑫 E-mail:1922250303@qq.com * @version 创建时间:2020年7月16日 上午10:22: ...

  3. Java语言基础(二)

    Java语言基础(二) 一.变量续 (1).变量有明确的类型 (2).变量必须有声明,初始化以后才能使用 (3).变量有作用域,离开作用域后自动回收 变量作用域在块内有效 (4).在同一定义域中变量不 ...

  4. Go语言基础(二)

    Go语言基础(二) 跟着上篇,继续看Go基础 一.变量作用域 与C类似,有全局变量.局部变量.形参之分 package main import "fmt" // 全局变量 var ...

  5. C语言第十二讲,文件操作.

    C语言第十二讲,文件操作. 一丶文件操作概述 在操作系统中,我们的文档都称为文件.操作系统也为我们提供了接口进行操作.不同语言都是使用的相同的接口,只不过封装的上层接口不一样 操作文件的步骤 打开文件 ...

  6. Go语言十进制转二进制字符串

    Go语言十进制转二进制字符串 代码Demo func Test_2(t *testing.T) { // 方法一 fmt.Println(DecToBin(5)) // 方法二:导入包"gi ...

  7. Java语言基础(二) Java关键字

    Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...

  8. R语言语法基础二

    R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...

  9. C语言高速入门系列(八)

    C语言高速入门系列(八) C语言位运算与文件 本章引言: 在不知不觉中我们的C高速入门系列已经慢慢地接近尾声了,而在这一节中,我们会对 C语言中的位运算和文件进行解析,相信这两章对于一些人来说是陌生的 ...

  10. Go语言学习笔记二: 变量

    Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...

随机推荐

  1. Axios向后段请求数据GET POST两种方法的不同之处

    GET请求 向后端请求时,通过URL向后端传递参数 axios({ url:'http://127.0.0.1:9000/get-user-list/', type:'json', //GET方法携带 ...

  2. 加密算法解析:MD5、DES和RAS的工作原理与特点

    一.MD5不可逆加密 1.1-理解MD5 MD5公开的算法,任何语言实现后其实都是一样的.通用的 不可逆加密:原文--加密--密文,密文无法解密出原文 1.2-MD5封装 using System.I ...

  3. 从原理聊JVM(四):JVM中的方法调用原理

    1 引言 多态是Java语言极为重要的一个特性,可以说是Java语言动态性的根本,那么线程执行一个方法时到底在内存中经历了什么,JVM又是如何确定方法执行版本的呢? 2 栈帧 JVM中由栈帧存储方法的 ...

  4. ModuleNotFoundError: No module named 'requests' 解决办法

    问题记录:运行python程序时,出现报错:ModuleNotFoundError: No module named 'requests' 问题原因:没有安装requests库 解决办法:安装requ ...

  5. 线程方法接收参数和返回参数,Java的两种线程实现方式对比

    The difference beteen two way 总所周知,Java实现多线程有两种方式,分别是继承Thread类和实现Runable接口,那么它们的区别是什么? 继承 Thread 类: ...

  6. 代码随想录算法训练营第二十八天| 93.复原IP地址 78.子集 90.子集II

      93.复原IP地址 卡哥建议:本期本来是很有难度的,不过 大家做完 分割回文串 之后,本题就容易很多了 题目链接/文章讲解:https://programmercarl.com/0093.%E5% ...

  7. Hadoop单击模式运行wordcount例子

    1.进入Hadoop安装目录 cd /zwy/soft/hadoop-2.7.1 2.创建文件夹input mkdir input 3.写一段文字到文件file.txt echo "hell ...

  8. Redis从入门到放弃(12):pipeline管道技术

    1.引言 在现代应用程序中,高性能和低延迟是至关重要的因素.而在处理大规模数据操作时,Redis作为一种快速.可靠的内存数据库,成为了许多开发人员的首选. 在Redis中,每个操作都需要与服务器进行往 ...

  9. 【krpano】 ASP点赞插件

    简述 这是一个Asp版krpano点赞案例,运用asp+xml读写.存储数据,结合krpano代码实现的功能:现将案例上传网站供大家学习研究,希望对大家有所帮助. 功能 用户在网页可点赞后显示已点赞数 ...

  10. golang .(type)语法

    一直弄不懂 .(type) 是啥,在 liteide 中输出 (1+1).(type),提示: use of .(type) outside type switch 于是搜索到这个文章: 作者:翔云翔 ...