首页 > 其他分享 >嵌入式学习第二天

嵌入式学习第二天

时间:2024-07-17 21:26:40浏览次数:21  
标签:0000 字节 符号 二进制 补码 嵌入式 学习 第二天 数据位

1.gcc编辑器

2.C语言基础

1.进制转换:
    二进制、八进制、十进制、十六进制 

    二进制:逢二进一
            0、1

    八进制:逢八进一
            0、1、2、3、4、5、6、7

    十进制:逢十进一
            0、1、2、3、4、5、6、7、8、9

    十六进制:逢十六进一
            0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f

    二进制、八进制、十六进制 -> 十进制:
        对应位 * 对应位的权值再求和
    
    十进制 -> 二进制、八进制、十六进制:
        十进制数除以进制数得到的余数逆序排列

    十进制 <-> 二进制 

    二进制 <-> 八进制、十六进制 
        八进制的1位 == 二进制的3位
        十六进制1位 == 二进制的4位

2.负数在内存中的存储
    100      1100100
    -100   
    
    负数在内存中存储:
        1.先获得原码(去掉符号位,数字对应的二进制形式)
        2.获得反码 (原码取反)
        3.获得补码(反码+1)
        4.获得内存中的值(符号位+补码)

3.程序在计算机内部如何运行
    存储器:
        1.内存 
            读写速度快
            价格昂贵
            掉电数据丢失

        2.外存
            读写速度慢
            价格便宜
            掉电数据不丢失 
            外存存储文件 

    a.out是存放在外存中的一个文件
    ./a.out时将该文件加载到内存中运行,内存负责与CPU交互执行代码内的运算处理

4.计算机内存的存储单位
    1 bit
    1 byte == 8 bit
    1 kb   == 1024 byte
    1 mb   == 1024 kb 
    1 gb   == 1024 mb
    1 tb   == 1024 gb


 

整数类型

.

整数类型

在内存空间所占字节数

存储方式 

值域范围

unsigned short无符号短整型

2个字节

16位均表示数据位(数据对应的二进制形式)

0 - 65535

short 

短整型  

2个字节 

1位符号位+15位数据位(补码)      

 -32768 - 32767

unsigned int

无符号整形 

4个字节

32位均表示数据位(数据对应的二进制形式)

 0 - 2^32 -1

int 整形

4个字节

1位符号位+31位数据位(数据的补码)

 -2^31 - 2^31 -1

unsigned long   

无符号长整型

8个字节

 64位均表示数据位(数据对应的二进制形式)

0 - 2^64 -1

long 长整型

8个字节 

1位符号位+63位数据位(数据的补码) 

 -2^63 - 2^63 -1 

注:   0000 0000 0000 0000 代表0,

1000 0000 0000 0000 代表-32768,不代表-0,

负数以补码的形式存储在内存中,

-32768 补码:1000 0000 0000 0000

此时1,即做数据为又做符号位
        整数类型默认为有符号类型

浮点数类型

所有浮点数类型均为有符号数类型                                存储方式        

float 单精度浮点数类型(最多表示6到8位有效数字) 占4个字节  1+8+23

double 双精度浮点数类型(最多表示12有效数字)    占8个字节  1+11+52

例:

float类型

8.75  1000.11  1.00011*2^3 必须以1开头,所以可以去掉1变成.000113+127=130 指数都要加上127,因为指数是8位,指数范围是-127到128 ,指数偏移量为127,所以+127为了让负数变成正数存储

四个字节所以一共是32位

符号位1              指数位  8               尾数位23

0                1000 0010(130)          00011 0000 0000 0000 0000 00

浮点数->二进制形式->科学计数法转换->小数点后存入尾数中->指数位+偏移位(float+127 double+1023)以二进制存入指数位

标签:0000,字节,符号,二进制,补码,嵌入式,学习,第二天,数据位
From: https://blog.csdn.net/m0_61965705/article/details/140388740

相关文章

  • 后缀数组学习笔记
    前言后缀数组(SuffixArray,简称SA)是一种解决某些字符串问题的常用工具。解决这些字符串问题时,经常用后缀数组对问题进行一定的转化成其它的模型,然后套用那个模型的解决方法加以解决原问题。附题单约定本文做以下约定:本文撰写时间跨度较大,有些符号会出现正体、斜体混用的情......
  • Linux学习中
     #1.登录root用户#2.配置网络vi/etc/sysconfig/network-scripts/if*(tab键回车补齐)#删除UUID行,(按dd)BOOTPROTO=staticONBOOT=yesIPADDR=192.168.188.100NETMASK=255.255.255.0GATEWAY=192.168.188.2DNS1=114.114.114.114:wqipaddrsystemctlrestartnetwork.s......
  • Datawhale AI夏令营第二期——机器学习 基于神经网络stack融合策略的多模型融合
    #AI夏令营#Datawhale夏令营基于神经网络stack融合策略的多模型融合改进点:1.数据清洗,异常值替换(板块2)2.基于神经网络的stack模型融合(板块5)根据大佬的提示对Task3所做的改进,大佬链接:http://t.csdnimg.cn/RSC3o1.模型导入导入所需要包:importpandasaspdimportnumpy......
  • C++学习第一天
    CPP的学习day11.VisualStudio的学习安装跳过……1.创建项目选择创建新项目因为是学习,选择第二个控制台应用分配好后点击创建等一会儿就创建好了……先修改设置:右击选择属性然后改为如下图2.CPP的表达式概念表达式就是运算符和操作数的序列,指定一项计算,表达式的求......
  • python环境配置及基础学习
    python环境配置及基础学习Miniconda安装及使用创建环境condacreate-nnamepython=3.10进入环境condaactivatename退出环境condadeactivateVSCode安装安装成功后,在左边“extensions”搜索Chinese语音包点击install,按照提示重启VSCode在左边“拓展”搜索python,安装......
  • 学习日志:多线程
    文章目录前言一、多线程的优点二、单核CPU支持Java多线程单核CPU同时运行多个线程的效率三、线程安全四、死锁产生死锁的四个必要条件:检测死锁预防和避免线程死锁前言并发与并行并发:两个及两个以上的作业在同一时间段内执行。并行:两个及两个以上的作业在......
  • redis学习-12(实现分布式锁、消息队列、缓存一致性问题、单线程快的原因、跳跃表)
    引用以下内容:redis实现分布式锁:Redis分布式锁-这一篇全了解(Redission实现分布式锁完美方案)Redis实现分布式锁的7种方案,及正确使用姿势!redis实现消息队列Redis的学习教程(十)之使用Redis实现消息队列缓存一致性问题想要保证数据库和Redis缓存一致性,推荐采用先更新数......
  • Splay 学习笔记
    Splay树,或伸展树,是一种平衡二叉查找树,它通过Splay/伸展操作不断将某个节点旋转到根节点,使得整棵树仍然满足二叉查找树的性质,能够在均摊O(\logN)时间内完成插入,查找和删除操作,并且保持平衡而不至于退化为链。Splay树由DanielSleator和RobertTarjan于1985年发明......
  • Task2:从baseline代码详解入门深度学习
    Task2:从baseline代码详解入门深度学习准备工作数据集数据集被划分为三种,分别是:训练集,开发集测试集。训练集数量最多,用于训练模型,开发集用于在训练中不断调整模型的参数,架构,测试集用于测试模型模型基于seq2seq模型主要由encoderdecoder两部分构成使用GRU模型大致可以理......
  • SpringBoot学习笔记
    微服务阶段javaSE:OOPmySQL:持久化html+css+js+jquery+框架:视图,框架不熟练,css不好;javaweb:独立开发MVC三层架构的的网站:原始ssm:框架:简化了我们的开发流程,配置也开始较为复杂;war:tomcat运行spring再简化:springBoot-jar:内嵌tomcat;微服务架构!服务越来越多:springcloud!高内聚,低耦......