C语言基础1

二进制是机械语言,用0和1来表示数据,在机械上0表示低电平,1表示高电平。

十进制转二进制,一直除以二一直到余数为1或者0;末尾加D表示十进制

二进制转十进制,每一位都是2*2^(n-1),最后加起来。首位加0b,末尾加B表示二进制

十六进制,12345678abcdef,首位加0x,末尾加H表示十六进制。

二进制转十六进制,每四位二进制代表一个十六进制。

小数用二进制来表示:(1.34)D

小数位一直乘以2 

0.34X2=0.68   0

0.68X2=1.36   1

一直到小数位为0,如果不能为0就一直去到自己想要的精度。

(0001.01)B

计算机中有源码,反码,补码,计算机用补码来储存数据

比如3的源码:0011

它的反码全部取反 1100如果是负数符号位不变

它的补码就是反码加1  1101

这是因为在二进制中,正数是从0开始算的,能表示128个数字是0-127,但是同时如果表示负整数的128位,就不能包含0了,因为在机械语言中不能一个数有两种表示方式。所以负整数整体向左移一位表示-1~-128。

C语言中是设有数据类型作为框架来放我们想放的数据

int 4bit/32位 整数类型字符

char 1bit/8位  有符号位

unchar 1bit/8位 无符号位

short int  2bit

long int 4bit

float 4bit单精度浮点数

double 8bit 双精度浮点数

其中float用二进制来表示,是1bit的符号位+8bit的指数位+23bit的尾数位

比如3.25用二进制表示  (0011.01)B,将小数点向左移到最左的1,移了几位再加上127(防止产生负数)那么指数位就是多少,那么指数位就是128~(1000 0000)B,1.101小数点后面就是尾数位凑够23位用0补充,最后得到的二进制就是,0010 0000 0101 0000 0000 0000 0000 0000;

double用二进制来表示,是1bit的符号位+11bit的指数位+52bit的尾数位

%m.nf 表示输出的无符号的浮点数宽度位m,小数点后n位

%d 表示输出有符号的int类型

%u 表示输出无符号的int类型

%e 以指数形式输出浮点数,如果输出的数是int类型则输出错误,比如float a=1000,输出1.000000e+03,如果是b=0.001,输出1.000000e-03.

%c 表示字符型

%s 表示字符串型

%x 无符号的16进制

%o 无符号的8进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值