C 语言进制之间的转换

二进制、八进制和十六进制向十进制转换都是非常容易的,就是“按权相加”。

所谓“权”,也即“位权”。例如,十进制第1位的位权为100=1,第2位的位权为101=10,第3位的位权为102=100;而二进制第1位的位权为20=1,第2位的位权为21=2,第3位的位权为22=4。设数字所采用的进制为N(基数也是N),那么第 i 位的位权为 N(i-1)。

不同进制转换为十进制举例:

二进制:1001 = 1×23 + 0×22+ 0×21 + 1×20 = 8 + 0 + 0 + 1 = 9

二进制:101.1001 = 1×22 + 0×21+ 1×20+ 1×2-1+ 0×2-2 + 0×2-3 + 1×2-4= 4 + 0 + 1 + 0.5 + 0 + 0 + 0.0625 = 5.5625

八进制:0302 = 3×82 + 0×81+ 2×80 = 192 + 0 + 2 = 194

八进制:0302.46 = 3×82 + 0×81 + 2×80 + 4×8-1 + 6×8-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375

十六进制:0Xea7 = 14×162 + 10×161 + 7×160= 3751

十进制转换为二进制——辗除法

上节的表格中给出了简单的十进制和二进制的转换关系,要想获得更多的转换关系,可以使用辗除法。辗除法也就是“除模取余”法。除模取余就是将一个几进制的数转化成另一个进制时, 另一个进制的基数就是模,用将要转化的进制数除以模,取它的余数。

下图以十进制的“19”转换为二进制为例进行讲解:

如图所示,以2为除数,一直相除下去,直到商为0,余数则为求得的二进制数。

注意:余数要倒序排列,也就是说,最先求得的余数排在二进制的最后面,最后求得的余数排在二进制的最前面。上面的例子中,最后求得的二进制数为 10011。

虽然其他进制也可以按照辗除法来转换,但是比较麻烦,下面介绍更简单的方法。

二进制和八进制的转换

二进制向八进制的转换是每三位二进制数转换为一位八进制数,运算的顺序是从低位向高位依次进行,高位不足三位用零补充。以二进制“1011101”为例,如下图所示:

转换的结果为:1011101 = 0135

八进制向二进制转换的思路是八进制的一位转换为二进制的三位,运算的顺序是从低位向高位依次进行。同样以八进制“0135”为例,如下图所示:

转换的结果为:0135 = 1011101

二进制和十六进制的转换

二进制向十六进制转换时,四位转换成十六进制的一位,运算的顺序是从低位向高位依次进行,高位不足四位用零补。以“1110011”转换成十六进制为例,如下图所示:

转换的结果为:1001011101 = 0X25D

十六进制向二进制转换,就是把十六进制的一位转换成二进制的四位,注意运算的顺序是从低位向高位依次进行。同样以十六进制“0X25D”为例,如下图所示:

以上就是对 C语言进制直接转化做的一个资料整理,学习进制转换的朋友可以参考下相关阅读:

js编写当天简单日历效果【实现代码】

简单谈谈php中的unicode和utf8编码

jQuery前端开发35个小技巧

实例讲解Android中ContentProvider组件的使用方法

phpmailer简单发送邮件的方法(附phpmailer源码下载)

jQuery组件easyui基本布局实现代码

C#使用IHttpModule接口修改http输出的方法

JQuery解析XML的方法小结

Win8.1系统安装输入法提示不可用输入法的原因及解决方法

Java基础教程之组合(composition)

选择MySQL数据库的命令以及PHP脚本下的操作方法

使用PHP实现微信摇一摇周边红包

jQuery 删除/替换DOM元素的几种方式

使用Post方式提交数据到Tomcat服务器的方法

c 语言转换成php语言,C++_C 语言进制之间的转换,二进制、八进制和十六进制向 - phpStudy...相关推荐

  1. 二进制数与十进制之间的转换以及使用一个函数实现任意进制之间的转换

    其他进制转为十进制都可以实现,只需要将函数中的10和2换掉你需要的就行 #include <stdio.h> #include <math.h>// 1. 二进制转换为十进制 ...

  2. C语言实现不同进制之间的转换

    C语言实现不同进制之间的转换 说明 运行环境 1.十进制转二进制 2.二进制转换成十进制数 3.十进制数转换成十六进制数 4.十六进制数转换成十进制数 说明 1.进制转换目前只限于非负数之间的转换(带 ...

  3. C语言学习之路--计算机系统组成以及工作原理,进制之间的转换和机器数及其表示范围

    目录 一.前言 二.计算机系统组成以及工作原理简介 1.硬件系统基本组成原理及工作原理 2.硬件各部分详解 1.运算器 2.控制器 CPU 3.存储器 1.内存储器 2.外存储器 3.拓展 4.存储器 ...

  4. C++控制不同进制输出(二进制,八进制,十进制,十六进制)各种进制之间的转换

    目录 1.输出(头文件讲解) 2.格式控制 常用的I/O流控制符 4.各种进制之间的转换(进制大乱斗) 4.1.写在前面 4.2整体框架搭建 4.3菜单函数 4.4用户输入选择(main函数体中) 4 ...

  5. 计算机基础--进制之间的转换

    前言 在学习计算机时,不可避免是需要了解进制的概念以及它们之间是如何进行转换的. 一. 进制的介绍 1.1 概念介绍 二进制的概念: 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码 ...

  6. 不同进制之间的转换的各种方法

    不同进制之间的转换纯粹是数学上的计算.不过,你不必担心会有么复杂,无非是乘或除的计算. 生活中其实很多地方的计数方法都多少有点不同进制的影子. 比如我们最常用的10进制,其实起源于人有10个指头.如果 ...

  7. 二进制-八进制-十进制-16进制之间的转换

    进制之间的转换 主要用到连个函数: Convert.ToInt32(str,numbased):将字符串转成str,按照numbeased指定的进制转成10进制数: Convert.ToString( ...

  8. JAVA进制及进制之间的转换

    进制 一.进制 二进制: 0.1 满二进一 以0b开头作为标识 在jdk1.7之前程序中无法直接书写一个二进制数字 八进制: 0~7,满8进1 要求以0做开头为标识 十进制 十六进制: 0~9.A~F ...

  9. java实现颜色Color对象和16进制之间的转换

    package com.tsxs.test;import java.awt.Color;public class TestColor {public static void main(String[] ...

最新文章

  1. 又一个不错的FCKeditor 2.2的安装、修改和调用方法
  2. 华为的Java虚拟机_华为方舟编译器解析:提升安卓运行效率
  3. 辅助类——记录错误信息
  4. 数据库外键的使用原则
  5. 一个JAXB Nuance:字符串与枚举(受限制的XSD字符串)
  6. oracle全局批准供应商,Oracle EBS-SQL (PO-7):检查异常-非批准的供应商设置供货比例.sql...
  7. day27:三剑客之sed
  8. Theano 中文文档 0.9 - 6. 更新Theano
  9. Flink技术到底是什么?Flink原理及深度解析
  10. 求一个字符串中所有字符的组合
  11. 精通innodb引擎_《MySQL技术内幕:InnoDB存储引擎》PDF 下载
  12. linux fedora14 u盘运行,用U盘安装FEDORA14后必须从U盘启动,从硬盘无法启动
  13. MYSQL监控工具--mytop
  14. win10更改/修改c盘下的用户名/Users
  15. xp计算机启动检测硬盘,winxp系统如何设置开机自检修复硬盘
  16. 《密码法》之商用密码应用安全性评估----六问
  17. 阿拉伯数字转换为中文大写数字
  18. 数据挖掘技术-使用函数进行简单的统计分析
  19. 新纪元期货:投资远离骗局
  20. Linux安装R包有什么依赖关系,linux下安装配置R环境相关依赖包

热门文章

  1. 如何掌握openGauss数据库核心技术?秘诀一:拿捏SQL引擎(3)
  2. 另辟蹊径:从其他角度去解决数据库问题
  3. 工具丨超好用的免费AWR分析工具
  4. Oracle 11g 频繁遭遇 CheckPoint incomplete问题分析(直播预告)
  5. 从0到1构建支撑企业自动化运维体系
  6. 5G to B核心网建设白皮书发布:2025年运营商toB市场高达6020亿美元
  7. 你的企业离DevOps转型成功,就差这“七步法”路线图
  8. 【API进阶之路】因为不会创建云服务器,我被实习生摆了一道
  9. Vue中拆分视图层代码的5点建议
  10. 一统江湖的大前端(2)—— Mock.js + Node.js 如何与后端潇洒分手