//

//  main.c

//  Hex conversion

//

//  Created by ma c on 15/7/22.

//  Copyright (c) 2015年 bjsxt. All rights reserved.

//  要求:十进制向任意进制之间的转换(查表法)。

#include <stdio.h>

//十六进制的转换

void ToHex(int num)

{

int temp;

char chs[8];//定义一个临时容器,长度为8,8X4=32位比特

int pos=8;  //定义一个索引

char ch[] = {'0','1','2','3',

'4','5','6','7',

'8','9','a','b',

'c','d','e','f'};

printf("%d的十六进制是:",num);

while(num!=0)

{

temp = num & 15;

chs[--pos]= ch[temp];     //将查表中的数据存放到临时容器中。

num = num >> 4;           //向左移动次低四位

};

for(int x=pos;x<8;x++)

{

printf("%c",chs[x]);

}

printf("\n");

}

//八进制的转换

void ToOct(int num)

{

int temp;

char chs[11];//定义一个临时容器

int pos=11;  //定义一个索引

char ch[] = {'0','1','2','3',

'4','5','6','7',

'8','9','a','b',

'c','d','e','f'};

printf("%d的八进制是:",num);

while(num!=0)

{

temp = num & 7;

chs[--pos]= ch[temp];     //将查表中的数据存放到临时容器中。

num = num >> 3;           //向左移动次低三位

};

for(int x=pos;x<11;x++)

{

printf("%c",chs[x]);

}

printf("\n");

}

//二进制的转换

void ToBinary(int num)

{

int temp;

char chs[32];//定义一个临时容器

int pos=32;  //定义一个索引

char ch[] = {'0','1','2','3',

'4','5','6','7',

'8','9','a','b',

'c','d','e','f'};

printf("%d的二进制是:",num);

while(num!=0)

{

temp = num & 1;

chs[--pos]= ch[temp];     //将查表中的数据存放到临时容器中。

num = num >> 1;           //向左移动次低一位

};

for(int x=pos;x<32;x++)

{

printf("%c",chs[x]);

}

printf("\n");

}

int main(int argc, const char * argv[])

{

ToHex(60);

ToOct(60);

ToBinary(60);

printf("\n");

return 0;

}

C语言:十进制进制转换为其他进制(思想:查表法)的更多相关文章

  1. 16进制字符串和byte数组进行相互转换\将10进制转换为任意进制

    16进制字符串和byte数组进行相互转换 简介 1个byte对应8个bit,16进制使用4个bit,所以一个byte转成16进制,占用两位. JAVA代码 private static final c ...

  2. 从M进制转换为N进制

    /// <summary> /// 从M进制转换为N进制 /// </summary> internal class MBase2NBase { /// <summary ...

  3. Java 二维数组,排序、切换顺序,查表法二进制十进制,这班查找、排序(冒泡、选择)、遍历,获取最大小值(4)

    Java 二维数组,排序.切换顺序,查表法二进制十进制,折半查找.排序(冒泡.选择).遍历,获取最大小值(4)

  4. 【C语言学习笔记】空间换时间,查表法的经典例子!知识就是这么学到的~

    我们怎么衡量一个函数/代码块/算法的优劣呢?这需要从多个角度看待.本篇笔记我们先不考虑代码可读性.规范性.可移植性那些角度. 在我们嵌入式中,我们需要根据实际资源的情况来设计我们的代码.比如当我们能用 ...

  5. java学习进制转换之查表法

    10进制转16进制,以及10进制转2进制,还有10进制转8进制,这些转换如果按照常规思路的话,会灰常的麻烦. 我们来看一下 10进制转16进制: 假如这里有一个十进制数字:35,我们的需求就是把这个3 ...

  6. 十进制和n进制的转换(10进制转换为36进制)

    答案如下: void Convert() { map<int ,string> maps; maps[0]="0"; maps[1]="1"; ma ...

  7. lua之m进制转换为n进制-任意进制转换算法

    够无聊的写这个,为防止需要的人也无聊一遍,写个吧 算法有n种,但是,咱们一种就够用了 --数组倒序排列 local function orderByDesc( input ) local output ...

  8. Java查表法实现十进制转化成其它进制

    首先了解十进制转化成二级制的原理 156的二进制为: 156 % 2 = 78 …… 0 83 % 2 = 39 …… 0 39 % 2 = 19 …… 1 19 % 2 = 9 …… 1 9 % 2 ...

  9. YUV420查表法高效、无失真的转换为RGB32格式

    YUV格式有两大类:planar和packed.planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V,这里所讲述的就是这中存储格式的:packed的YUV ...

随机推荐

  1. thinkphp框架中处理标签中条件输出

    这个问题是这样的,当我在模板中想在标签option中在某个条件下输出selected.但是在里边嵌套if标签的话,condition里边第二个参数使用变量的时候,不能解析.所以只能使用别的方法了.达到 ...

  2. IIS7 Appcmd.exe 使用

    如果您运行的是 64 位 Windows,请从 %windir%\system32\inetsrv 目录而不是 %windir%\syswow64\inetsrv 目录中使用 Appcmd.exe. ...

  3. MUI - 手势

    www.bcty365.com/content-146-2389-1.html 配置事件 mui.init({ gestureConfig: { hold: true, //长按屏幕,默认是false ...

  4. C#并行库(TaskParallelLibrary)用法小结

    今天有空,总结一下.NET 4.5并行库(TaskParallelLibrary)用法. 也许C和C++的程序员刚刚开始写C#还习惯于new Thread来新建一个线程,但新建线程需要内存和CPU上下 ...

  5. ImageMagick jmagick 安装

    在安装ImageMagick之前,请检查下面包已经安装 tiff-3.9.5.tar.gz         (rpm -qa|grep libtiff检查是否已经安装) libpng-1.2.46.t ...

  6. SAE saestorage.class.php文件的封装代码

    Source for file saestorage.class.php Documentation is available at saestorage.class.php <?php /** ...

  7. Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5:compile

    mvn clean mvn install mvn clean -Dmaven.test.skip=true install 出现上述问题,找不到很多类的一些方法. 解决方法: 1.Window -- ...

  8. php isset() empty() 区别, 判断 变量存在与否神器

    先看PHP手册: bool empty ( mixed $var ) 判断一个变量是否被认为是空的.当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在.如果变量不存在的话,empty ...

  9. php调用empty出现错误Can't use function return value in write context

    php调用empty出现错误Can't use function return value in write context 2012-10-28 09:33:22 | 11391次阅读 | 评论:0 ...

  10. DirectX基础学习系列2

    补充第一章矩阵内容 向量 1 3D空间向量,包含浮点数类型坐标 D3DXVECTOR-->D3DXVECTOR3 2向量的长度 D3DXVector3Length(const D3DXVECTO ...