arm-linux-gcc char与signed char和unsigned char

2023-11-16


    1.三者关系

1.ANSI C 提供了3种字符类型,分别是char、signed char、unsigned char。而不是像short、int一样只有两种(int默认就是unsigned int).
2.三者都占1个字节
3.signed char取值范围是 -128 到 127(有符号位)
unsigned char 取值范围是 0 到 255
4.内存中一串二进制,它的含义,就是这个类型来说明的。
5.所谓signed char 和 unsigned char 其实是相对“运算”而说的,已经脱离了我们字面含义“字符”,表示的范围有限。

2.char的定义

C标准中对char是 Impementation Defined,就是未明确定义
(1)那它由什么定义?坦白说,具体的编译器明确定义,一般都是用signed char或unsigned char来实现char的,也就是说不同的编译器对char是什么定义不一样
(2)为什么要这样定义?因为这三种类型的对象在存储介质中的表现形式是一样的(都是一个占8bit的01串,只是解析的时候不同)
(3)到底是signed char还是unsigned char?这得看编译器:VC编译器、x86上的GCC都把char定义为signed char,而arm-linux-gcc却把char定义为 unsigned char

3.char的使用

char的不同使用给了它不同的字面上的含义

(1)当字符用

原始的ASCII标准里,定义的字符码值是只有0~127,所以怎么定义的char都刚好好装得下,于是普通意义上我们对它的理解就是它表示一个字符,也就是让表示一个ASCII码(这也是C语言基础中对它的解释)

(2)当单字节整数

从本质上来说,字符('a', 'b', 'c'等)本质上也是一个整数,只是字符代表的值是0~127,我们可以用char表示一个不太大的整数
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

arm-linux-gcc char与signed char和unsigned char 的相关文章

  • 编译原理第七章笔记 -- 中间代码生成

    本文中内容整理西安交通大学软件学院吴晓军老师的ppt中 仅供学习使用 请勿转载或他用 参考教材 程序设计语言 编译原理 第3版 陈火旺等 国防工业出版社 这一章分数在35左右 两个大题 数组的引用四元式生成 控制语句当中布尔表达式的翻译 考
  • 编译原理实验 实验一 词法分析设计 Java实现

    一 实验目的 通过本实验的编程实践 使学生了解词法分析的任务 掌握词法分析程序设计的原理和构造方法 使学生对编译的基本概念 原理和方法有完整的和清楚的理解 并能正确地 熟练地运用 二 实验内容 用 VC VB JAVA 语言实现对 C 语言
  • 编译原理书籍推荐

    大学课程为什么要开设编译原理呢 这门课程关注的是编译器方面的产生原理和技术问题 似乎和计算机的基础领域不沾边 可是编译原理却一直作为大学本科的必修课程 同时也成为了研究生入学考试的必考内容 编译原理及技术从本质上来讲就是一个算法问题而已 当
  • 【编译原理】FIRST集合和FOLLOW集合

    FIRST集合 定义 可从 推导得到的串的首符号的集合 其中 是任意的文法符号串 规则 计算文法符号 X 的 FIRST X 不断运用以下规则直到没有新终结符号或 可以被加入为止 1 如果 X 是一个终结符号 那么 FIRST X X 2
  • 编译原理------词法分析器C/C++代码实现

    一 实验目的 设计 编制并调试一个词法分析程序 加深对词法分析原理的理解 二 实验内容 2 1 待分析的简单的词法 1 关键字 begin if then while do end 所有的关键字都是小写 2 运算符和界符 lt lt lt
  • Code Block & Basic Block

    Code Block In a programming language a code block typically starts with certain syntactical constructs such as loops con
  • gcc常用选项及常见的文件格式,扩展名

    gcc常用选项 编译过程 预处理 编译 汇编 链接 gcc的选项 必须分开给出 x 语言名 指出后面文件的语言 c 编译 汇编源文件 生成目标文件 S 编译不汇编 生成汇编文件 E 预处理 输出送到标准输出 o 指定输出的文件名 pipe
  • 编译执行与解释执行的区别

    今天在看到一篇关于分层编译优化的文章时 看到了解释执行与编译执行两个专业词汇 看着熟悉 但不甚理解 然后在网上搜索了一下 说一下自己的理解 对于我们平时写的代码 一般计算机是没办法直接识别的 需要相应的编译器将其编译层机器代码 一些计算机可
  • 语义分析- C-- 语言

    C V1 0 E gt n true false E E E E 类型合法的程序 3 4 false true 类型不合法的程序 3 true true false 对这个语言 语义分析的任务是 对给定的一个表达式e 写一个函数type c
  • [学习flex] 1.利用flex实现文字和谐小程序

    灵感来自于09平台dota1 游戏选手对喷时经常互飙国粹 问候对方全家 后来09平台进行了聊天和谐 不和谐的文字都会被 替换 今天我就就用flex实现类似的效果 话不多说上flex代码 脏话 printf 国粹 printf printf
  • YACC工具ParserGenerator的下载和配置过程

    工具准备 parser generator http www bumblebeesoftware com downloads htm VC6 0 网上到处都是 1 parser generator的环境设置 安装好parser genera
  • GDB 程序调试常用命令

    调试之前 若要在GDB中调试程序在编译时需要加上调试信息 在GCC中添加的方法 GCC g a c o a exe 或下面提供更符合GDB的调试信息 GCC ggdb a c o a exe 运行流程 命令 作用 start 开始执行程序
  • 编译原理 CS-143(更新至week4)

    编译原理 CS 143 Pre Course Survey Navigation Your Course 01 01 Introduction 8m20s 01 02 Structure of a Compiler 13m53s 编译器结构
  • 编译原理实验一:词法分析

    实验一 词法分析程序 一 实验目的 通过设计编制调试一个具体的词法分析程序 加深对词法分析原理的理解 并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法 编制一个读单词过程 从输入的源程序中 识别出各个具有独立意义的
  • 编译原理绪论

    1 美图 5 编译过程一语法分析 任务 在词法分析的基础上 根据语言的语法规则把单词符号串分解成各类语法单位 语法范畴 依循的原则 语法规则 描述工具 上下文无关文法 6 编译过程一中间代码产生 任务 对各类不同语法范畴按语言的语义进行初步
  • 【编译原理】LR(0)分析方法(c++实现)

    基本流程 Created with Rapha l 2 2 0 输入文法 拓广文法 求项目集规范族 GO I a 转移函数 构造DF
  • 编译原理-总概

    语言执行过程 代码 解释器编译器 机器代码 cpu执行 编译型语言 在程序在执行之前需要一个专门的编译过程 通过编译器把程序编译成为可执行文件 再由机器运行这个文件 运行时不需要重新翻译 直接使用编译的结果就行了 解释型语言 是一边执行一边
  • 语义分析- 符号表

    符号表 1 用来存储程序中的变量相关信息 类型 作用域 访问控制信息 2 必须非常高效 程序中的变量规模会很大 符号表的接口 ifndef TABLE H define TABLE H typedef Table t 数据结构 新建一个符号
  • LL(1)文法的预测分析表以及对某输入串的分析过程

    举例说明LL 1 文法的预测分析 以及对 a a 的分析过程 文法G S S gt a S gt S gt T T gt SN N gt SN N gt 是否 gt First集 Follow集 S 否 a T 否 a N 是 Select
  • 自下而上分析方法-算符优先,LR(0),SLR,LR(1),LALR大全

    文章目录 自下而上分析法 一 规范规约 相关定义 短语 直接短语 句柄 素短语 最左素短语 语法树表示 示例 规范规约 二 语法分析器 三 算符优先分析算法 算符文法 1 算符优先文法 2 FIRSTVT P 和LASTVT P 1 FIR

随机推荐

  • mysql初始化命令_mysql初始化命令及其他命令

    这个问题纠结了我两年 为了配置my cnf中 undo的 参数生效 以及生成undo文件 使用一下命令 usr bin mysql install db defaults file etc my cnf datadir dbfiles da
  • type object xxx has no attribute objects

    在Django 2 0以下版本 使用自定义管理器存在一个BUG 该BUG引发的原因 是因为报错模型使用自定义管理器 导致默认的objects管理器被覆盖掉了 我的解决方案是 升级Django版本 升级到Django 2 2 1 如果有大佬知
  • Uniapp录音实时回调原生插件-YL-AudioRecorder

    YL AudioRecorder 插件地址 https ext dcloud net cn plugin id 14028 升级版 YL AudioRecorderPlus 支持mp3录制及实时回调 https ext dcloud net
  • 30条经典的SQL语句

    关于索引 推荐转载的这篇文章 http blog csdn net dutguoyi archive 2006 01 10 575617 aspx 改善SQL语句的效率 http community csdn net Expert topi
  • 2017年严重拖延着患者欠下的债

    扩展基础知识面 Android 面试 全站式导航 http mp weixin qq com s fTfudY1DBYS5JiSkPnbjAg 100篇精选干货 感谢你与码个蛋共同成长 含5重福利 http mp weixin qq com
  • 使用com.alibaba里面的druid连接数据库

    1 添加依赖
  • Spark性能调优之Shuffle调优

    Spark性能调优之Shuffle调优 Spark底层shuffle的传输方式是使用netty传输 netty在进行网络传输的过程会申请堆外内存 netty是零拷贝 所以使用了堆外内存 shuffle过程中常出现的问题 常见问题一 redu
  • 服务器物理结构,物理 I/O 体系结构

    物理 I O 体系结构 与以前发行版的 M 系列服务器相比 这些服务器的物理 I O 体系结构发生了变化 使用了不同的名称 并且 CPU 不再拥有 PCIe 结构 I O 术语 用于描述 I O 体系结构的术语发生了如下变化 根联合体 在
  • React Effects(副作用)

    我们在之前提到过 React 组件在渲染过程中不应该有可观察到的副作用 但是有些时候副作用确实必要的 我们也许需要进行管理 focus 状态 用 canvas 画图 订阅数据源等操作 在 React 中 这些都可以通过声明 effect 来
  • ag-grid 自带css样式记录

    本篇文章是打算自己用于记录ag grid自身的css样式的记录和功能 1 ag header group cell with group 作用 多表头 前几层 最后一行表头除外 表头样式的设置 ag header group cell wi
  • pg备份数据库

    原文 http www weijingbiji com 1975 PostgreSQL备份工具pg dump和pg dumpall PostgreSQL 数据库 作者 viking PostgreSQL使用 pg dump 和 pg dum
  • [知识图谱实战篇] 七.HTML+D3实现关系图谱搜索功能

    前面作者讲解了很多知识图谱原理知识 包括知识图谱相关技术 Neo4j绘制关系图谱等 但仍缺少一个系统全面的实例 为了加深自己对知识图谱构建的认识 为后续创建贵州旅游知识图谱打下基础 作者深入学习了张宏伦老师的网易云课程 星球系列电影 并结合
  • Python利用demoji库删除文档中的表情符号

    在进行数据清洗时 往往需要删除文档中的出现的表情符号 因为他们无法被读取 借助demoji库 可以非常简单地完成这项工作 关于demoji 库的文档 可以访问demoji PyPI 首先 需要在环境中利用pip install安装demoj
  • 可拖拽的easyui treegrid

    引用 JQuery EasyUI TreeGrid控件的使用 支持拖拽与禁止拖拽 演示
  • 实际的机械臂控制(9)Moveit单独控制机械臂末端在XYZ三个轴的平移和旋转(基于python)

    0 序言 在moveit中 控制机械臂的末端执行器运动的API有两个 分别是 shift pose target set pose target 第一个API shift pose target 其实这个函数在旋转角度这块并不会得到让大家满
  • flutter 中stack 控件的 大小是如何确定的

    stack 控件 stack 是我们在flutter中常用到的控件 然而stack的大小是如何确定的是一个值得探究的问题 自己在网上也进行了搜索 但是总是不能解释自己遇到的新情况 所以我这里就根据目前的经验对stack大小是如何确定的进行一
  • 泰森多边形(Voronoi图)生成算法

    一 文档目的 本文描述了在geomodel模块中 生成泰森多边形所使用的算法 二 概述 GIS和地理分析中经常采用泰森多边形进行快速插值 和分析地理实体的影响区域 是解决邻接度问题的又一常用工具 荷兰气候学家A H Thiessen提出了一
  • 软件构架、架构和框架的区别

    软件框架 Software Framework 介绍 面向某领域 包括业务领域 如ERP 和计算领域 如GUI 的 可复用的 半成品 软件 它实现了该领域的共性部分 并提供一系列定义良好的可变点以保证灵活性和可扩展性 可以说 软件框架是领域
  • 重新学javaweb---ServletContext

    WEB容器在启动时 它会为每个WEB应用程序都创建一个对应的ServletContext对象 它代表当前web应用 这个对象创建出来之后就一直在内存中驻留 代表当前的web应用 它可以通过我们上一篇介绍的ServletConfig对象获取
  • arm-linux-gcc char与signed char和unsigned char

    1 三者关系 1 ANSI C 提供了3种字符类型 分别是char signed char unsigned char 而不是像short int一样只有两种 int默认就是unsigned int 2 三者都占1个字节 3 signed