26-C语言(进制的转换)

进制:

十进制:0~9 123.4 = 110^2 + 210^1 + 310^0 + 410^-1 (10基数)
二进制:0~1 1010.1 = 12^3 + 02^2 + 12^1 + 02^0 + 1*2^-1
= 23+21+2^-1 = 10.5
在二进制中1表示有,0表示没有
11011.1 = 24+23+21+20+2^-1=16+8+2+1+0.5=27.5
1011.1=11.5
按权展开求和
01011101011011110010111101011011-> 计算量太大
5d6F2f5b
64 0100 0000
1011 1111
-64 1100 0000
负数的二进制:其绝对值的二进制取反再加1
人使用十进制 计算机使用二进制 (矛盾不可调和)

       01 011 101 011 011 110 010 111 101 011 011
		1    3    5       3    3    6     2      7    5      3    3
八进制(了解,历史遗留问题):0~7    八进制  12->1*8^1 + 2*8^0 = 10
CPU (中央处理器) :32位/64位 都不能整除3
十六进制:(非常重要)0~9 a~f/A~F .重点注意a/A (10)   ,用0x开头
二进制转十六进制: 4个二进制合并成1个十六进制
0101 1101 0110 1111 0010 1111 0101 1011
  5      d        6      F      2       f        5       b
十六进制转十进制: 0x10->16  ;  0x123->1*16^2+2*16+3=256+32+3=291
十六进制转二进制:1个十六进制数字拆分为4个二进制 0x123->0001 0010 0011->100100011
1字节 =8个位   很重要
两个十六进制对于一个字节
十进制转二进制:基数除法
 凑:50->110010;   70->1000110
十进制转十六进制: 十进制->二进制->十六进制

阿里巴巴笔试: 30!转成3进制末尾几个0?   1~30里面有多少3   14 
      提示1: 10!十进制末尾几个0?      考虑末尾怎么出现0?  2*5  ,5很少,计算5出现的次数 (5,10)
	  提示2: 30!十进制末尾几个0?   5,10,15,20,25,25,30 

数据类型:
整数:(signed有符号 / unsigned无符号)char ,short, int ,long,long long 表示的数据范围不同
1 2 2/4 4 8
小数: float,double,long double
4 8 8不使用
char:有符号取值范围-128~127 ,无符号0~255

#include <stdio.h>
int main()//主函数,程序的入口,有且只要一个
{
    for(char i=0;i<128;i++)//循环   死循环   i的取值范围-128~127     127+1->-128  ??
	{
		printf("%d\n",i);//输出i的值到屏幕
	}
	char a = 255;   //笔试的重点
	printf("%d\n",a);//-1  
	unsigned char b = -1;
	printf("%d\n",b);//255 
	printf("%c,%d\n",'a','a');//'a'的编码值为97
	short a = 1000;//2字节 0x03 E8
	printf("hello world\n");//F1进入帮助手册
	return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林林林ZEYU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值