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> 使用场合:二进制指令\二进制文件,变量在内 ...
随机推荐
- div、ul、li等无法居中问题,text-align无效 margin auto无效
很简单.如果是div,直接把div换成: <table align="center"> <tr> <td> ...
- PHP 6:PHP 基本数据类型
原文:PHP 6:PHP 基本数据类型 本章将介绍PHP基本类型.相信我们已经熟悉了C/C++,C#或者Java里的任意一种语言.本章会以C#为比较语言.OK,如果你想学PHP,你最先考虑的是什么呢? ...
- 学习PHP时的一些总结(四)
目录的基本操作: 在系统的每个目录下都有两个特殊的目录"."和".." , 分别指示当前目录和当前目录的父目录. dirname() 返回目录的名称 path ...
- uml系列(四)——类图
类图是uml的核心.学习类图,总共须要掌握三个部分:类:类之间的关系:类图怎么画. 首先,类.老规矩,先来张图. 类是什么:举个简单的样例:猫.狗.猪三个都是动物.这里面的"动物" ...
- 必须掌握的JavaScript基本知识
作为一个前端工作者,应该了解一些javascript的发展历史,javascript实现及版本等.基本概念包括语法.关键字.变量.数据类型.操作符.语句控制及函数等,它们和我们学习的其它语言C/C++ ...
- Android项目----AsyncTask异步操作
public abstract class AsyncTask extends Object java.lang.Object ↳ android.os.AsyncTask<Params, ...
- 阿里云WinServer2008下配置IIS7支持php
先送一只法克鱿给百度,百度了n多的方法都或多或少有问题. 0.php安装包 php-5.2.1-Win32.zip 下载地址 http://pan.baidu.com/s/1pJuc8YZ 最开始是p ...
- Asp.Net Web Api 接口
如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问. 由于 web api 项目通常是被做成了一个独立站点,来提供数据,在做web api 项目的时候,不免前端会遇到跨域访问接口的 ...
- Node填坑教程——过滤器
所谓“过滤器”,只是一个概念,可以理解是一个路由,也可以理解为一个中间件.原理非常简单,就是利用匹配规则,让其有限匹配在正常的路由前面处理就行了. 比如有如下路由 app.get('/', funct ...
- 使用ReSharper打造团队代码
当前标签: 漂亮代码 请看高质量的代码——更新 Leo C.W 2014-04-01 19:16 阅读:544 评论:5 我们的终极编码规范 Leo C.W 2014-03-31 22:34 ...