day4 printf 及进制运算

#include <stdio.h>

int printf(const char *format, ...);

功能:将给定的数据,转变成格式字符串,打印到终端上(在终端打印的肯定是字符串)

参数1:要打印的字符串,里面可以包含其他数据的格式控制符,有了格式控制符,就可以将相关数据转换成字符串的一部分

格式控制符:将不同的数据,用于转换成字符串的占位符号,不同的数据,转变成字符串需要使用不同的格式控制符

1、%与格式控制符之间的修饰符号,有关整形数据的输出

hh:表示输出的是char类型的数据

h: 表示输出short类型的数据

l:输出长整型数据

ll:s输出长长整型数据

z:输出size_t类型的数据

2、格式控制符号

d、i:进行转换后面的整形数据

o:表示输出无符号八进制数据

u:表示输出无符号的十进制数据

x:表示输出无符号十六进制数据,abcdef使用的是小写字母

X:表示输出的是十六进制数据,ABCDEF使用大写

e、E:表示将double类型的数据,以科学计数法的形式展示

f、F:用于输出实型数据,如果输出的小数,小于6位,则默认后面补齐6位,除非使用 [-]www.ddd -:表示左对齐 www:表示输出的宽度 ddd:表示输出的精度

g、G:表示输出实型数据时,原样输出

c:表示输出的是一个单字符数据

s:表示的是转换一个字符串数据

p:表示输出指定的地址数据

3、用于修饰格式的

#:表示八进制数据和十六进制数据的先导符

参数2:... 表示可变参数,后面这些参数,根据第一个字符串中的格式控制符的个数而定,并且与之一一对应,多个参数中间使用逗号隔开 返回值:函数执行成功,返回成功输出的字节的个数,失败返回一个负数

4.5 数据在计算机中的表示

任何数据在计算机中都会先转变成二进制数据,但是,数值数据分为两类,有符号数据和无符号数据

无符号数据:所有的位表示的都是数值位,进行相关计算即可

有符号数据:最高位(最左边的一位)表示符号位,0表示该数是整数,1表示该数是负数

以一字节为例:

无符号数据:

最大值:1111 1111 ----> 255

最小值:0000 0000 ----> 0

有符号数据:

最大值:0 111 1111 ----> 127

最小值:1 111 1111 ----> -127

正0: 0 000 0000 -----> +0

负0: 1 000 0000 -----> -0 ----> -128

4.6 计算机中数据的运算

1> 计算机中只存在 加法器,其他运算是由加法合成的

2> 计算机中所有数据的运算都是以补码的形式进行的

3> 所有正数的原码、反码、补码都是原码本身。只有负数参与运算时,才会考虑原反补

4> 原码:由数值直接转换后的二进制码就称为该数的原码

反码:在原码的基础上,符号位不变,其他位按位取反(0变1,1变0)

补码:在反码的基础上加1变成对应的补码

5> 二进制的运算规律:逢二进一、借一当二

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值