C语言学习笔记:15_c语言中的进制操作.c
2024-08-31 05:55:53
/*
* 15_c语言中的进制操作.c
*
* Created on: 2015年7月5日
* Author: zhong
*/ #include <stdio.h>
#include <stdlib.h> /**
* c语言中的进制表示
* 前面加0b表示二进制
* 加0x表示十六进制
* 数字前加0表示八进制
*
* printf按进制打印
* %d %i 以十进制打印
* %o 以八进制打印
* %x 以十六进制打印
*
* %p 打印变量地址
* %f 打印小数
* %s 打印字符串
* %c 打印字符
*
*
*
1.二进制转十进制
0b1100 = 0 * 2的0次方 + 0 * 2的1次方 + 1 * 2的2次方+ 1 * 2的3次方
= 0 + 0 + 4 + 8 = 12
0b1111 = 1 + 2 + 4 + 8 = 15
0b1010 = 10 2.十进制转二进制
67 = 64 + 2 + 1 = 2的6次方 + 2的1次方 + 2的0次方
= 0b1000000 + 0b10 + 0b1
= 0b1000011 3.n位二进制的取值范围
2位二进制位的取值范围:0~3 0~2的2次方-1
3位二进制位的取值范围:0~7 0~2的3次方-1
n位二进制位的取值范围:0~2的n次方-1 4个字节 -> 31bit
0 000 0000 0000 0000 0000 0000 0000 1100
0 ~ 2的31次方-1
*
*
*/
void num_show_type() {
//默认就是十进制表示
int a = 12;
printf("%d->%o\n", a,a); //%d 以十进制打印 //二进制
// int nu = 0b1100;
// printf("%d\n", nu); //%d 以十进制打印
//八进制
int o = 014;
printf("%o->=%d\n", o,o); //%o 以八进制打印 //十六进制
int x = 0xc;
printf("%x->=%d\n", x); //%x 以十六进制打印 }
// 输出一个整数的二进制存储形式
void putBinary(int n)
{
int bits = sizeof(n) * 8;
while (bits-->0) {
printf("%d", n>>bits&1);
if (bits%4==0) printf(" ");
}
printf("\n");
}
int main15() {
// num_show_type();
putBinary(12);
return 0;
}
最新文章
- Socket初识
- Windows Commands and API
- 从json传递数据显示表格实例
- JS和CSS的多浏览器兼容(3)
- Thinkpad 小紅點設定
- 基于SuperSocket实现的WebSocket(后端)
- group by子句的三点注意项
- SSH2配置事务的两种方式
- android权限(permission)大全
- 【XSY3141】哲学家 计算几何 线段树
- 【原创】大数据基础之ElasticSearch(5)重要配置及调优
- 20190407 Word合并单元格
- selenium 添加动态隧道代理
- TimeLine CSS/Javascript 时间线
- day31 logging 日志模块
- BZOJ1103 [POI2007]大都市meg dfs序 线段树
- linux前后台任务的切换以及执行暂停
- android Keycode 完全对照表
- P4433 [COCI2009-2010#1] ALADIN
- viewpager切换耗时控制
热门文章
- PCB MS SQL跨库执行SQL 获取返回值
- Moon Http Server,强大如斯的全脚本web服务器
- python 11:range(起始索引,终止索引,步数)(默认情况下步数为1,生成从起始索引,每次增加(终止索引-起始索引)/步数,到终止索引前的数字串)
- iframe弹出窗体丢失焦点的问题
- 华为 荣耀 等手机解锁BootLoader
- Java code List Map, HashMap, JSON parser snippet
- vs2015网站部署到iis后运行调试:无法在web服务器上启动调试的问题,403已禁止
- Markdown 常用语法总结
- 利用Xpath和jQuery进行元素定位示例
- 基于MATLAB的语音信号处理