大一程设课件鉴藏[1]

总览

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据类型

在这里插入图片描述
在这里插入图片描述

long double

在这里插入图片描述

如何用二进制表示一个小数

举一个栗子?:
比如说是10.7
整数位直接使用二进制表示是1010,这没什么好说的
小数位连续用2乘,得到的数大于1,输出1,且乘数更新为乘数-1;若得到的乘积小于1,输出0,乘数不变。
如小数部分为0.7
0.7 * 2 = 1.4 > 1 输出1 乘数 = 1.4 - 1 = 0.4
0.4 * 2 = 0.8 < 1 输出0 乘数 = 0.8
0.8 * 2 = 1.6 > 1 输出1 乘数 = 1.6 - 1 = 0.6
0.6 * 2 = 1.2 > 1 输出1 乘数 = 1.2 - 1 = 0.2
……
以此类推,循环越多,精度越高
因此,粗略来看 (10.7)10 = (1010.1011)2
以此可以看出,十进制小数转换为二进制是存在误差的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include <iostream>
using namespace std;

int main()
{
    char a = 'c';

    printf("the ascii of %c is %d\n",a,a);
    return 0;
}

在这里插入图片描述

#include <iostream>
using namespace std;

int main()
{
    int a = 137;
    printf("%x\n%o\n",a,a);
}

在这里插入图片描述
在这里插入图片描述

短路

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

#include <iostream>
using namespace std;

int main()
{
    char ans[100];
    int i = 0, k, t;
    char digit[] = "0123456789ABCDEFGHIGKLMNOPQRSTUVWXYZ";
    long long n;
    printf("输入要转换的十进制数字:\n");
    scanf("%lld", &n); //标识符是ld

    printf("输入进制: \n");
    scanf("%d", &k);
    while (n)
    {
        t = n % k;
        n /= k;
        ans[i++] = digit[t];
    }
    for (i -= 1; i >= 0; i--)
        putchar(ans[i]);
    putchar('\n');
    return 0;
}

%#o || %#x的用法

#include <iostream>
using namespace std;

int main()
{
    int a = 137;
    printf("%#x\n%#o\n",a,a);
}


/*output:0x89
0211
*/补上本应有的符号表示

在这里插入图片描述
在这里插入图片描述

why 补码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

位运算符应用实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

随机数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
利用0~1范围来确定任意范围

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值