C语言之进制
进制
一种计数的方式.侧重点在于计数的时候是逢多少进一.
1) C语言可以识别的进制
- 二进制
每一位. 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0
在C语言中,写一个二进制的数的方式就是在前面加一个 0b或者0B的前缀,二进制每一位是0或者1,逢2进1;
2. 八进制
每一位. 0 1 2 3 4 5 6 7 10 11
在C语言中,写一个八进制的数的方式就是在前面加一个 0的前缀,逢8进1;
%o 将整型变量中得数据以八进制的形式输出
3. 十进制
每一位. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
在C语言中直接写1个整数,那么默认就是十进制,逢10进1;
%d 将整型变量中得数据以十进制的形式输出
4. 十六进制
每一位. 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12
在C语言中,写一个十六进制的数的方式就是在前面加一个 0x或者0X的前缀,逢16进1;
%x 将整型变量中得数据以八进制的形式输出
2).进制之间的转换
a. 基本概念
数码: 指的是这个数据的每一位的数字.
数位: 数码在这个数中的位置.从右到左.依次递增从 0 开始.
基数: 就是每一个数码可以有多少个数据来表示.
(基数其实指的就是这个数的进制).
位权: 数码乘以(基数的数位次方)
任何数的0次方都为1.
b. 十进制转换为二进制
除2取余法. 将这个数除以2. 直到商为1或者0. 然后最后1个商和所有余数倒序. 就是这个十进制对应的二进制.
例:
10 的二进制是 1010
178 的二进制是10110010
c. 二进制转换为十进制
加权法:将这个二进制数的每个数码的位权相加,就是这个二进制对应的十进制.
10101 每1个数码的位权相加.
第0位的位权: 1 * 2的0次方 1
1 * 0
2 * 4
3 * 0
4 * 16
d. 十进制转换为八进制
除8取余(与十进制转换为二进制方法类似)
e. 八进制转换为十进制
加权法:将八进制的每1个数码的位权相加 得到的就是其对应的十进制数.
0342
第0位: 2 * 8的0次方 2
1 4 * 8的1 32
2 3 * 8的2 192
f. 二进制转换为八进制.
三合一法则:将这个二进制从低位到高位每三位分成1组.高位不够补0将每1组转换为十进制.最后将每1组的十进制连起来. 就是这个二进制对应的八进制.
001 011 100 110 011
1 3 4 6 3
g. 八进制转换为二进制.
一拆三:将这个八进制数的没1个数码拆为1个三位的二进制数.把这些二进制数连起来.
134674
001 011 100 110 111 100
h. 二进制转换为十六进制.
四合一法则:将这个二进制从低位到高位每四位分成1组.高位不够补0
将每1组转换为对应的十六进制.最后将每1组转换成功的十六进制数链接起来.
11100101010111110111101010101
0001 1100 1010 1011 1110 1111 0101 0101
1 c a b e f 5 5
k. 十六进制转换为二进制.
一拆四法则:将这个十六进制的书的每1个数码拆为1个四位的二进制数,将其连起来.
4dea761;
0100 1101 1110 1010 0111 0110 0001
C语言之进制的更多相关文章
- java语言基础-进制
一丶Java语言基础:进制 1.进制的四种表现形式 (1).二进制:0,1 满2进1. (2).八进制0-7 :满8进1,用0开头表示. (3).十进制:0-9 满10进1. (4).十六进制:0-9 ...
- C语言中进制知识总结
1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数 ...
- 新手第一天学习 C#语言(进制互换)
说起来我们对一些陌生或者未知的东西有一些恐惧感,但是又有一些期待,虽然我不确定自己能不能学会这门语言,但是我会尽自己最大的努力学. 我们第一天学的的内容呢,对大多数的人都知道,计算机的语言是二进制,但 ...
- 一起talk C栗子吧(第七回:C语言实例--进制转换)
各位看官们.大家好,从今天開始.我们讲大型章回体科技小说 :C栗子,也就是C语言实例. 闲话休提, 言归正转.让我们一起talk C栗子吧! 看官们.上一回中咱们说的是生成随机数的样例.这一回咱们说的 ...
- C语言下进制的使用
进制规则 十进制 以正常数字1-9开头,如123 八进制 以数字0开头,如0123 十六进制 以0x开头,如0X123 二进制 C语言不能直接书写二进制数 案例如下 int main() { int ...
- C语言基础--进制
进制表示: // 1.默认就是10进制 ; // 2.在前面加上一个0就代表八进制 ; // %d是以十进制的方式输出一个整数 printf("%d\n", num1); // % ...
- C语言实现进制转换
#include<stdio.h> int main() { char ku[16]={'0','1','2','3','4','5','6','7','8','9','A','B ...
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏
二进制:以0b开头,只有0和1两种数字.如0101 十进制:0~9十个数字表示.如25 十六进制:以0~9,A~F表示,以0X开头.如0X2B 十进制转换为X进制:连除倒取余 X进制转换为十进制:按权 ...
- 【学习笔记】【C语言】进制
1. 什么是进制 是一种计数的方式,数值的表示形式 2. 二进制 1> 特点:只有0和1,逢2进1 2> 书写格式:0b或者0b开头 3> 使用场合:二进制指令\二进制文件,变量在内 ...
随机推荐
- 配置phonegap Android开发环境
phonegap的安装路途曲折,首先要基于多种程序,中途还要解决各种问题,下面是phonegap需要的程序 1.NodeJs 2.Phonegap 3.jdk,jre 4.Apache Ant 5.A ...
- 深入浅出SQL注入
原文:深入浅出SQL注入 之前在做学生信息管理系统和机房收费系统的时候,对于SQL注入的问题已经是司空见惯,但是并没有真正的地形象生动的理解SQL注入到底是什么玩意儿.直到这次做牛腩才在牛老师的举例之 ...
- 【转】Android 图层引导帮助界面制作
2012-11-02 10:31 1979人阅读 评论(0) 收藏 举报 原文:http://www.cnblogs.com/beenupper/archive/2012/07/18/2597504. ...
- 藏地传奇js
http://zd.163.com/m/zhenyan/ js很厉害,有很多值得学习的地方,记录下来. http://res.nie.netease.com/zdcq/qt/13/0625_zheny ...
- Visual Studio 换颜色
--- 给 Visual Studio 换颜色 “为革命,保护视力,预防近视,眼保健操开始......” 这个应该是最老版本的眼保健操了,你听过? 一堆废话 且不说上面这个眼保健操到底有木有用,让眼睛 ...
- 基于嵌入式OS的任务设计-----任务划分
在<前后台系统VS嵌入式OS,何时该上OS?>一文中介绍了何时应该将OS应用于嵌入式设计中,本文将介绍基于OS的任务设计,一般来说,应用程序设计包括两个方面,一个是业务逻辑的设计,另一个是 ...
- MVC程序中实体框架的连接恢复和命令拦截
MVC程序中实体框架的连接恢复和命令拦截 这是微软官方SignalR 2.0教程Getting Started with Entity Framework 6 Code First using MVC ...
- 测试驱动 ASP.NET MVC 和构建可测试 ASP.NET MVC 应用程序
[测试驱动 ASP.NET MVC] http://t.cn/8kdi4Wl [构建可测试 ASP.NET MVC 应用程序]http://t.cn/8kdi4Wj
- HTTP压缩算法SDCH
程序设计中使用的那些共享方法或者技术 前段时间看了个paper是讲述谷歌浏览器使用的压缩方法SDCH,其实原理还是比较简单的. 看了论文后就想总结一下程序中使用的一些共享方法或者技术吧. 1.Goog ...
- Ajax+Ashx实现以及封装成控件的实现
asp.net 后台多线程异步处理时的 进度条实现一(Ajax+Ashx实现以及封装成控件的实现) 工作好长时间了,这期间许多功能也写成了不少的控件来使用,但是,都只是为了代码的结构清析一些而已.而这 ...