IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 嵌入式学习笔记w2d2 -> 正文阅读

[嵌入式]嵌入式学习笔记w2d2

week2-day1

一、数据的存储

1.1

  • 字符:
    字符是按ASCii码:一个整数对应一个字符,所以按整数的方式存储

在这里插入图片描述

  • 整型:
    有符号的整数:最高位为符号位,剩下的为数据位,-231~231-1
    无符号的整数:0~232-1
    整数是以补码的形式存储

原码:直接以二进制形式表示出的数:10:0b1010:1010、
正数10==00000000000000000000000000000001010==0x0000000A
负数:10==(0b)10000000000000000000000000001010==0x8000000A
反码:直接对原码取反,除符号位
补码:反码+1

负数补码:除符号位,反码+1
(short)-100原:1000000001100100
(short)-100反:1111111110011011
(short)-100补:1111111110011111
正数补码和原码相同
(short)100原:0000000001100100
(short)100反:0111111110011011
(short)100补:0000000001100100
负数补码转原码:取反+1

  • 浮点型:?
    参考
    小数部分:乘2取整
    浮点数存储分为数据部分和指数部分
    数据部分:整数部分、正负一样,小数部分乘以2取整,得到对应二进制编码
    指数部分:小数点向后移动,直到全整。按整数表示(补码)
    123.874 二进制:1111011.110111

二、标准输入输出

#include<stdio.h>

2.1 输出

printf()
使用的格式不多说
printf格式控制符:

控制符说明
%d十进制整型数据
%ld长整型数据
%o八进制整数
%x十六进制整数
%mdm 指定的输出字段的宽度,
不足则左端补空格(格式修饰)
%u无符号整型,最好不要写成%d
%f单精度和双精度,小数部分6位,
超过6位的四舍五入
%n.mf输出实数时整数 n 位
小数 m 位(格式修饰)
%c一个字符
%s用来输出字符串。
(也可以格式修饰)
格式修饰作用
-左对齐
+标识正数的正号
#8、16进制数的前缀

%x、%X、%#x、%#X 的区别:2f、2F、0x2f、0X2F
%%:%本身
可以用整数形式输出一个字符的ASCii码

2.2 输入

scanf()
使用格式:scanf ( " 格式控制串 " , 地址表 )
注意格式控制与内容类型一致
scanf()的多个输入
scanf( " %d%d%d%d " ,&a,&b,&c,&d )
接收的是地址!!!
输入的时候用空格隔开,或回车输n次或回车+空格
注意:输入字符时,空格会占位
在使用scanf输入完成时,通常以空格回车来表示输入结束
想以某格式输入,要使格式控制串与实际输入匹配(字符、字符串时注意)
例如:想输入:a b c d:scanf("%c %c %c %c",a,b,c,d)
且无论输入时多加空格,只会读一个
在这里插入图片描述

**注意:*在调用多个scanf()输入字符时,上一次的回车会被录入,造成下一次出问题,所以使用抑制符 或固定一个回车的格式\n
在这里插入图片描述

输入格式修饰:*:抑制符,指定输入值不用变量接收

在这里插入图片描述

规定有空格但不输入空格?

练习

交换两数然后输出

#include<stdio.h>
int main(){
        int a,b;
        int c=0;
        scanf("%d %d",&a,&b);
        printf("a=%d,b=%d\n",a,b);
        c=a;
        a=b;
        b=c;
        printf("replaced!\n");
        printf("a=%d,b=%d\n",a,b);
        return 0;
}

三、运算符

3.1 算数运算符

+、-、*、/、%,不多说

**注意:**除数与被除数都是整数时,结果也为整除后结果

赋值运算符:=、+=、-=、*=、/=、++、–
++a和a++:++a先执行自增,再执行其他的运算;a++:先执行其他的运算,再进行自增

例如:a=1,b=1
b=++a、b=a++
前者b==2,a==2
后者b==1,a==2

3.2 比较运算符

<、>、==、<=、>=、!=,不多说。结果为0或1

3.3 逻辑运算符

&&与、||或、!非,不多说

3.4 位运算符(补码)

正数补码和原码相同
负数补码转原码:取反+1

&:位与,都为1时为1
|:位或, 都为0时为0
~:按位取反
在这里插入图片描述
^:异或,不同为1,相同为0
<<、>>左移、右移,指定位数移动,不移动符号位,
右移缺位补数时按符号位补(高位补:正数补0,负数补1),左移缺位补数时补0

3.5 三目运算符

条件?成立执行:不成立执行
a>b ? printf(“a大=%d”,a) : printf(“b大=%d”,b)

3.6 特殊运算符

sizeof(数据/数据类型)

作业

  1. 输入三个数,输出其中最大数
    在这里插入图片描述
  2. 交换两个整数,不使用第三个变量的情况下交换值。参考
  3. 输入一个四位数,输出每个位
  4. 输??个整数a,如果小于10,则a * 10,否则a / 10,得到计算结果,输出
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 13:27:32  更:2021-07-28 13:27:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:54:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码